Кто-нибудь знает, как разобрать строку даты в требуемом формате dd.mm.yyyy?
Ответы:
Увидеть:
Код:
var strDate = "03.09.1979";
var dateParts = strDate.split(".");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
"Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies."?
Если вы используете пользовательский интерфейс jQuery, вы можете отформатировать любую дату с помощью:
<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))
ссылки: http://momentjs.com/docs/#/parsing/string/
Если вы используете moment.js, вы можете использовать режим "строка" + "формат"
moment(String, String);
moment(String, String, String);
moment(String, String, Boolean);
moment(String, String, String, Boolean);
пример:
moment("12-25-1995", "MM-DD-YYYY");
Я использовал следующий код в IE. (Совместимость с IE8)
var dString = "2013.2.4";
var myDate = new Date( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"$2/$3/$1") );
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
Использовать объект Date:
var time = Date.parse('02.02.1999');
document.writeln(time);
Дайте: 917902800000
new Date(Date.parse('02.02.1999'))
new Date(Date.parse('02.02.1999'))к Javascript
new Date(Date.parse('02.02.1999'))выдаст результаты, идентичные new Date('02.02.1999'), в том числе неверную дату в некоторых браузерах. Использование встроенного синтаксического анализатора, возможно, является худшим способом синтаксического анализа метки времени.
Эта функция также обрабатывает недопустимую дату 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;
}
Вы можете отформатировать дату просто сделав этот тип кода. В javascript.
// for eg.
var inputdate=document.getElementById("getdate").value);
var datecomp= inputdate.split('.');
Var Date= new Date(datecomp[2], datecomp[1]-1, datecomp[0]);
//new date( Year,Month,Date)