相关疑难解决方法(0)

我在哪里可以找到有关在JavaScript中格式化日期的文档?

我注意到JavaScript的new Date()功能在接受多种格式的日期时非常聪明.

Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")
Run Code Online (Sandbox Code Playgroud)

在调用new Date()函数时,我无法在任何地方找到显示所有有效字符串格式的文档.

这用于将字符串转换为日期.如果我们看一下相反的方面,即将日期对象转换为字符串,直到现在我的印象是JavaScript没有内置的API来将日期对象格式化为字符串.

编者注:以下方法是提问者的企图,关于特定浏览器的工作,但也不会在一般的工作; 请参阅此页面上的答案以查看一些实际解决方案.

今天,我在toString()日期对象上使用了该方法,并且令人惊讶的是它用于将日期格式化为字符串.

var d1 = new Date();
d1.toString('yyyy-MM-dd');       //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy')  //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
Run Code Online (Sandbox Code Playgroud)

在这里,我找不到任何关于我们可以将日期对象格式化为字符串的方法的文档.

列出Date()对象支持的格式说明符的文档在哪里?

javascript datetime date date-format time-format

1381
推荐指数
21
解决办法
143万
查看次数

在JavaScript中检测"无效日期"日期实例

我想告诉JS中有效和无效日期对象之间的区别,但无法弄清楚如何:

var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'
Run Code Online (Sandbox Code Playgroud)

编写isValidDate函数的任何想法?

  • Ash建议Date.parse用于解析日期字符串,它提供了一种检查日期字符串是否有效的权威方法.
  • 如果可能的话,我希望我的API接受一个Date实例,并且能够检查/断言它是否有效.Borgar的解决方案就是这样做的,但我需要跨浏览器进行测试.我也想知道是否有更优雅的方式.
  • Ash让我觉得根本没有我的API接受Date实例,这最容易验证.
  • Borgar建议测试一个Date实例,然后测试它Date的时间值.如果日期无效,则时间值为NaN.我用ECMA-262检查了这个行为是标准的,这正是我正在寻找的.

javascript date

1381
推荐指数
24
解决办法
75万
查看次数

在JavaScript中将字符串转换为日期

如何在JavaScript中将字符串转换为日期?

var st = "date in some format"
var dt = new date();

var dt_st= //st in date format same as dt
Run Code Online (Sandbox Code Playgroud)

javascript date type-conversion

597
推荐指数
21
解决办法
164万
查看次数

为什么Date.parse会给出错误的结果?

案例一:

new Date(Date.parse("Jul 8, 2005"));
Run Code Online (Sandbox Code Playgroud)

输出:

2005年7月8日星期五00:00:00 GMT-0700(太平洋标准时间)

案例二:

new Date(Date.parse("2005-07-08"));
Run Code Online (Sandbox Code Playgroud)

输出:

2005年7月7日星期五17:00:00 GMT-0700(太平洋标准时间)


为什么第二个解析不正确?

javascript date

327
推荐指数
6
解决办法
43万
查看次数

将JavaScript日期格式化为yyyy-mm-dd

大家好我有一个日期格式太阳5月11,2014我怎么能在javascript中将它转换为2014-05-11.

function taskDate(dateMilli) {
    var d = (new Date(dateMilli) + '').split(' ');
    d[2] = d[2] + ',';

    return [d[0], d[1], d[2], d[3]].join(' ');
}

var datemilli = Date.parse('Sun May 11,2014');
taskdate(datemilli);
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我相同的日期格式太阳可能11,2014请帮忙

javascript formatting date date-format time-format

293
推荐指数
26
解决办法
71万
查看次数

Safari中的日期无效

 alert(new Date('2010-11-29'));
Run Code Online (Sandbox Code Playgroud)

chrome,ff对此没有问题,但是safari会喊"无效日期".为什么?

编辑:好的,根据下面的评论,我使用字符串解析并试过这个:

alert(new Date('11-29-2010')); //doesn't work in safari
alert(new Date('29-11-2010')); //doesn't work in safari
alert(new Date('2010-29-11')); //doesn't work in safari
Run Code Online (Sandbox Code Playgroud)

编辑2018年3月22日:似乎人们仍然在这里着陆 - 今天,我会使用momentdate-fns完成它.Date-fns非常轻松无忧.

javascript safari date

129
推荐指数
8
解决办法
12万
查看次数

如何在JavaScript中获得两个日期之间的差异?

我正在创建一个应用程序,它允许您使用时间范围定义事件.我想在用户选择或更改开始日期时自动填写结束日期.但是,我无法弄清楚如何在两次之间找到差异,然后如何使用这种差异创建一个新的结束日期.

javascript date

107
推荐指数
4
解决办法
14万
查看次数

新的Date()适用于Chrome,但不适用于Firefox

我正在创建一个如下所示的日期时间字符串: 2010-07-15 11:54:21

使用以下代码我在Firefox中获得无效日期,但在Chrome中运行良好

var todayDateTime = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + seconds;
var date1 = new Date(todayDateTime);
Run Code Online (Sandbox Code Playgroud)

在firefox中,date1给了我一个无效的日期,但在chrome中它的工作正常,主要原因是什么?

javascript firefox datetime google-chrome date

84
推荐指数
6
解决办法
10万
查看次数

Chrome将没有Z的ISO时间解释为UTC; C#问题

在Chrome,FF和IE上运行这个jsfiddle:http://jsfiddle.net/E9gq9/7/,你会得到:

铬:

Chrome http://images.devs-on.net/Image/vBTz86J0f4o8zlL3-Region.png

火狐:

Firefox http://images.devs-on.net/Image/aNPxNPUpltyjVpSX-Region.png

IE:

IE http://images.devs-on.net/Image/WXLM5Ev1Viq4ecFq-Region.png

苹果浏览器:

Safari http://images.devs-on.net/Image/AEcyUouX04k2yIPo-Region.png

ISO 8601似乎没有说明如何解释没有尾随Z的字符串.

我们的服务器(ASP.NET MVC4)将UTC时间从数据库中拉出来,DateTime并简单地将它们填入JSON中.正如您所看到的,我们在浏览器上得到了不一致的结果.

我们应该在服务器端向他们添加Z吗?

javascript asp.net datetime utc

10
推荐指数
2
解决办法
4504
查看次数

IE 11 - 日期不起作用

  1. new Date().toLocaleDateString('en-US'); // "?8?/?17?/?2018"
  2. new Date("8/17/2018") //valid date
  3. new Date(new Date().toLocaleDateString('en-US')) // Invalid Date

我试图创造date,local date string (see screenshot)但它没有工作IE11 only.它可以正常使用date string.

我知道有问题"" double quotes但却无法使其正常工作.

有什么建议吗?

在此输入图像描述

javascript date internet-explorer-11

8
推荐指数
1
解决办法
758
查看次数