在JavaScript中解析DateTime字符串

时间:2009-10-16 08:14:01

标签: javascript datetime-format datetime-parsing

有谁知道如何以所需格式dd.mm.yyyy解析日期字符串?

9 个答案:

答案 0 :(得分:139)

请参阅:

代码:

var strDate = "03.09.1979";
var dateParts = strDate.split(".");

var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

答案 1 :(得分:53)

如果您使用的是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));

http://jsfiddle.net/mescalito2345/ND2Qg/14/

答案 2 :(得分:9)

我们使用此代码检查字符串是否为有效日期

var dt = new Date(txtDate.value)
if (isNaN(dt))

答案 3 :(得分:7)

参考文献: http://momentjs.com/docs/#/parsing/string/

如果你使用moment.js,你可以使用&#34; string&#34; +&#34;格式&#34;模式

moment(String, String);
moment(String, String, String);
moment(String, String, Boolean);
moment(String, String, String, Boolean);

例如:

moment("12-25-1995", "MM-DD-YYYY");

答案 4 :(得分:4)

使用日期对象:

var time = Date.parse('02.02.1999');
document.writeln(time);

给:917902800000

答案 5 :(得分:3)

我已经按照IE中的代码使用了。 (IE8兼容)

var dString = "2013.2.4";
var myDate = new Date( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"$2/$3/$1") );
alert( "my date:"+ myDate );

答案 6 :(得分:2)

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

答案 7 :(得分:2)

此功能还处理无效的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;
}

答案 8 :(得分:0)

你可以格式化日期只是制作这种类型的代码。在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)