Разобрать datetime в строку в JavaScript
кто-нибудь знает, как разобрать строку даты в требуемом формате dd.mm.yyyy
?
9 ответов:
посмотреть:
код:
var strDate = "03.09.1979"; var dateParts = strDate.split("."); var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
Если вы используете jQuery UI, вы можете отформатировать любую дату с помощью:
<html> <body> Your date formated: <span id="date1"></span><br/> </body> </html>
var myDate = '30.11.2011'; var parsedDate = $.datepicker.parseDate('dd.mm.yy', myDate); $('#date1').text($.datepicker.formatDate('M d, yy', parsedDate));
мы используем этот код, чтобы проверить, является ли строка допустимой датой
var dt = new Date(txtDate.value) if (isNaN(dt))
refs: http://momentjs.com/docs/#/parsing/string/
Если вы используете момент.js, вы можете использовать режим "строка" + "формат"
moment(String, String); moment(String, String, String); moment(String, String, Boolean); moment(String, String, String, Boolean);
ex:
moment("12-25-1995", "MM-DD-YYYY");
использовать объект даты:
var time = Date.parse('02.02.1999'); document.writeln(time);
дайте: 917902800000
я использовал следующий код в IE. (В IE8 совместимый)
var dString = "2013.2.4"; var myDate = new Date( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"//") ); alert( "my date:"+ myDate );
ASP.NET у разработчиков есть выбор этого удобного встроенного (MS JS должен быть включен в страницу):
var date = Date.parseLocale('20-Mar-2012', 'dd-MMM-yyyy');
http://msdn.microsoft.com/en-us/library/bb397521%28v=vs.100%29.aspx
эта функция также обрабатывает недопустимую дату 29.2.2001.
function parseDate(str) { var dateParts = str.split("."); if (dateParts.length != 3) return null; var year = dateParts[2]; var month = dateParts[1]; var day = dateParts[0]; if (isNaN(day) || isNaN(month) || isNaN(year)) return null; var result = new Date(year, (month - 1), day); if (result == null) return null; if (result.getDate() != day) return null; if (result.getMonth() != (month - 1)) return null; if (result.getFullYear() != year) return null; return result; }