日期对象行为

mur*_*nay 5 javascript datetime date

在JavaScript中,对于不同的时区和不同的表示法,日期对象的结果是不同的.

例如.

var res= "2018-08"; 
var dat=new Date(res);  
Run Code Online (Sandbox Code Playgroud)

结果是:

Tue Jul 31 2018 22:00:00 GMT-0200 (West Greenland Summer Time)  for GMT-0200  Time Zone 
Run Code Online (Sandbox Code Playgroud)

 Wed Aug 01  2018 05:30:00 GMT+0530 (India Standard Time)
Run Code Online (Sandbox Code Playgroud)

但当

var res= "2018/08"; 
Run Code Online (Sandbox Code Playgroud)

我们的日期相同

Wed Aug 01 2018 00:00:00 GMT+0530 (India Standard Time)

Wed Aug 01 2018 00:00:00 GMT-0300 (Atlantic Daylight Time)
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我为什么它不是常数当我们给" - "作为分隔符

Jul*_*eri 1

为了让对象理解您提供给它的格式,实际上是告诉它您提供给它的格式。

以下内容可能会帮助您实现您所追求的目标:

选项1:

使用日期设置方法或使用Date.parse()功能(如果满足您的需求)。

选项2:

使用类似于momentjs的 ott 来为你完成逻辑。