在JavaScript中解析DateTime字符串

Aza*_*zat 93 javascript datetime-format datetime-parsing

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

Jon*_*and 140

看到:

码:

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

var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
Run Code Online (Sandbox Code Playgroud)

  • 糟糕..有点嘘声 - 日期构造函数实际上看起来像这样:新日期(年,月,日[,小时,分钟,秒,毫秒])所以你需要改变构造函数中的dateParts的顺序. (8认同)
  • 另一个嘘声.JavaScript日期构造函数在处理月份方面很奇怪.它认为0表示1月,1表示2月,等等.上面代码中的行应如下所示:var date = new Date(dateParts [2],dateParts [1] - 1,dateParts [0]); (6认同)
  • @ user674887,您可以在解析后比较这些值.例如dateParts [1] -1 == date.getMonth() (2认同)

Mec*_*ito 51

如果您使用的是jQuery UI,则可以使用以下格式设置日期格式:

<html>
    <body>
        Your date formated: <span id="date1"></span><br/>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

 

var myDate = '30.11.2011';
var parsedDate = $.datepicker.parseDate('dd.mm.yy', myDate);

$('#date1').text($.datepicker.formatDate('M d, yy', parsedDate));
Run Code Online (Sandbox Code Playgroud)

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

  • +1我不认为完全超出范围,JavaScript和JQuery是一种常见的组合. (21认同)

Adr*_*der 10

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

var dt = new Date(txtDate.value)
if (isNaN(dt))
Run Code Online (Sandbox Code Playgroud)


hiv*_*eer 7

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

如果使用moment.js,则可以使用"string"+"format"模式

moment(String, String);
moment(String, String, String);
moment(String, String, Boolean);
moment(String, String, String, Boolean);
Run Code Online (Sandbox Code Playgroud)

例如:

moment("12-25-1995", "MM-DD-YYYY");
Run Code Online (Sandbox Code Playgroud)

  • 对于大多数情况,MomentJS是一种矫枉过正,因为使用纯JavaScript只需要几百个字节,而MomentJS则是12.4kb gzip.方便开发人员,但减慢网站速度.不值得. (2认同)