new Date(1967年9月22日)创建指向10月21日的对象
new Date(1967, 9, 22) creates object pointing to October 21
我有以下代码,用于创建指向其他日期的日期对象。
var date = new Date(1967, 9, 22)
结果:
Sat Oct 21 1967 23:00:00 GMT-0300 (Hora oficial do Brasil)
有人知道为什么会发生这种事吗?
我的猜测:今年的10月21日是夏令变更日,就像2012年一样,所以时间从00:00直接变为01:00,因此当Javascript引擎在00:00得到1967、9、22时,这是一个"不可能"的日期,所以用来获取现有日期的方法似乎是删除时移(一小时):这样你就可以得到1967、,这就是你在屏幕上读到的内容。
它尝试了我自己(法国)的夏令时:我选择了3月31日的最后一次夏令时。2点是3点。所以2点30分是一个"不可能"的日期。当我在Chrome中输入时:
new Date(2013, 2, 31, 2, 30, 00)
我读到:
Sun Mar 31 2013 01:30:00 GMT+0100 (CET)
2h30变为1h30。
编辑:按照Cameron的想法,由于一些时间转换可能会持续1、2、小时或更长时间,并且可能朝着一个或另一个方向,因此在制定日期时,获得一年中同一天的最安全方法是将时间设置为12。事实上,这应该是javascript的默认设置。
详细信息:为了完成这个主题,你必须知道,由于各种政治或能源相关的原因,很少会有整整一天从日历中删除。因此,如果需要100.000%的可靠性,则必须测试Date对象的日/月是否与所提供的日期/月相同(!!)。
相关文章:
- Highchart UTC日期始终设置为1970年1月1日
- jquery与ajax控制工具包冲突2013年9月/10月发布
- 转换“;2012年7月15日星期日00:00:00 GMT+0700(东南亚标准时间)“;到php/javascript
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 为什么我之前工作的谷歌可视化图表在2013年11月26日之后停止工作
- Javascript日期对象:从5月31日跳到下个月得到7月1日
- 转换“;2016年3月28日星期一23:59:59 GMT-0600(中央黎明时间)“;TO”;2016-03-28 2
- Javascript日期允许使用无效数据(例如2月30日)
- j查询验证单独的年、月、日的日期字段
- 在 JavaScript 中将日期 2013-11-05 转换为 2013 年 11 月 5 日星期二
- 如何将此日期“太平洋标准时间 2016 年 3 月 9 日星期三 09:48:09”转换为“YYYY-MM-DD HH:
- JavaScript倒计时与年,月,日
- 自 2012 年 6 月 12 日以来,“未定义”随机附加到我网站上 1% 的请求 URL 中
- 自 4 月 13 日以来的跳出率统计数据中断
- 动态Facebook共享者缩略图(2013年10月更新)
- new Date(1967年9月22日)创建指向10月21日的对象
- 为什么使用日期对象的日期2014年10月31日和2014年11月1日在Javascript中具有相同的值
- 为什么日期.setMonth(10);date.setDate(20);给我12月20日而不是11月20日
- 有些年份的10月20日有问题
- 转换'2016年10月18日上午10:31:22;格式化为'2016年10月18日22:31:22