Mic*_*ern 1 javascript firefox internet-explorer google-chrome date
我有以下用于呈现从当月到去年同月的日期范围的JavaScript代码片段:
var today = new Date();
var endDate = new Date(today.getFullYear(), today.getMonth(), 1);
var startDate = new Date(endDate.getYear() - 1, endDate.getMonth() - 1, 1);
Run Code Online (Sandbox Code Playgroud)
在IE 8中,它为我提供了正确的日期范围:
Fri Jun 1 00:00:00 MST 2012 - Mon Jul 1 00:00:00 MST 2013
当我在Chrome中运行相同的代码时,我会得到以下日期范围:
Wed Jun 01 0112 00:00:00 MST - Mon Jul 01 2013 00:00:00 MST
开始日期的年份是0112.为了在IE和Chrome中获得正确的日期范围,我需要做什么?
为了在IE和Chrome中获得正确的日期范围,我需要做什么?
使用getFullYear()两个endDate和startDate:
var startDate = new Date(endDate.getFullYear() - 1, endDate.getMonth() - 1, 1);
Run Code Online (Sandbox Code Playgroud)
getYear()旨在返回短短的一年- 96为1996.但是,它的行为在20世纪20年代之外的日期浏览器之间有所不同.
具体来说,IE 4 - 8模仿getFullYear()其他年份:
在Internet Explorer 4.0到Internet Explorer 8标准模式下,公式取决于年份.对于1900年至1999年,返回的值是一个2位数值,即存储年份减去1900年.对于该范围之外的日期,将返回4位数年份.例如,1996年返回96,但1825年和2025年按原样返回.
IE9返回到您在Chrome中见证的标准化行为(伪代码):
getYear() == getFullYear() - 1900
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |