2017-05-31 80 views
0

我在使用Date.parse比较日期格式时遇到问题: 05/31/2017 10:50 AM(IST)和20170531 003837.000(EST)。任何导致这个?使用JavaScript比较不同日期格式

//Capture input for debug 
var Outlmd = "05/31/2017 10:50 AM"; 
var Outlsr = "20170531 003837.000"; 
//Convert to internal format - milliseconds since epoch 
d1 = Date.parse(05/31/2017 10:50 AM); 
d2 = Date.parse(20170531 003837.000); 

if(d1 > d2) { NewTempDate = lmd; } else { NewTempDate = lsr; } 
+0

//捕获输入以进行调试 var Outlmd =”05/31/2017 10:50 AM“; var Outlsr =“20170531 003837.000”; //转换为内部格式 - 自纪元以来的毫秒数 d1 = Date.parse(05/31/2017 10:50 AM); d2 = Date.parse(20170531 003837.000);如果(d1> d2){ NewTempDate = lmd;其他{ NewTempDate = lsr; –

+1

你面临的问题是什么?添加代码在你的问题不作为评论 – Colwin

+1

https://momentjs.com/ – Phil

回答

-1

你忘内Date.parse报价

Date.parse('05/31/2017 10:50 AM')

更新 请考虑下面的代码:

//Capture input for debug 
var lmd = "05/31/2017 10:50 AM"; 
var lsr = "2017-05-31T00:45:25-0400"; 
//Convert to internal format - milliseconds since epoch 
d1 = Date.parse(lmd); 
d2 = Date.parse(lsr); 
if(d1 > d2) { NewTempDate = lmd; } else { NewTempDate = lsr; } 

请注意,LMD和LSR应该是可解析没有额外空格的数据字符串:“2017-05-31T00:45:25-0400”不是“2017-05-31T00:45 :25-0400“

+0

//捕获输入的调试 var Outlmd =“05/31/2017 10:50 AM”; var Outlsr =“20170531 003837.000”; //转换为内部格式 - 自纪元以来的毫秒数 d1 = Date.parse(05/31/2017 10:50 AM); d2 = Date.parse(20170531 003837.000);如果(d1> d2){ NewTempDate = lmd;其他{ NewTempDate = lsr; } –

+0

嗨Kosh我想通过日期作为参数如下: //捕获输入调试 var lmd =“05/31/2017 10:50 AM”; var lsr =“20170531 003837。000" ; //转换为内部格式 - 因为历元毫秒 D1 = Date.parse(LMD); D2 = Date.parse(LSR); 如果(D1> D2){ NewTempDate = LMD; }其他{ NewTempDate = LSR; } –

+0

这是确定的,但'20170531 003837.000'是不是一个有效的日期格式它不能分析 –