JavaScript 日期格式
-
JavaScript日期输入
通常有3种类型的JavaScript日期输入格式:特征 说明 ISO格式日期 "2015-03-25" (国际标准) 短格式日期 "03/25/2015" 长格式日期 "Mar 25 2015" 或者 "25 Mar 2015" ISO格式遵循JavaScript中的严格标准。其他格式定义不太明确,可能是浏览器特定的。
-
JavaScript日期输出
独立于输入格式,JavaScript将(默认情况下)以全文字符串格式输出日期: -
JavaScript ISO日期
ISO 8601是表示日期和时间的国际标准。ISO 8601语法(YYYY-MM-DD)也是首选的JavaScript日期格式:
尝试一下var d = new Date("2015-03-25");
计算的日期将相对于您的时区。根据您所在的时区,上述结果将在3月24日至3月25日之间变化。
ISO日期(年和月),可以在不指定日(YYYY-MM)的情况下编写ISO日期:
尝试一下var d = new Date("2015-03");
时区将在2月28日至3月1日之间改变上述结果。
ISO日期(仅年份),ISO日期可以没有月份和日(YYYY)写入:
尝试一下var d = new Date("2015");
时区将在2014年12月31日至2015年1月1日期间改变上述结果。
ISO日期(日期时间),ISO日期可以添加小时,分钟和秒(YYYY-MM-DDTHH:MM:SSZ):
尝试一下var d = new Date("2015-03-25T12:00:00Z");
日期和时间用大写字母T分隔。UTC时间用大写字母Z定义。如果要修改相对于UTC的时间,请删除Z并添加+ HH:MM或-HH:MM
尝试一下var d = new Date("2015-03-25T12:00:00-06:30");
UTC(协调世界时)与GMT(格林威治标准时间)相同。
在日期时间字符串中省略T或Z可以在不同的浏览器中给出不同的结果。
-
时区
设置日期时,如果不指定时区,JavaScript将使用浏览器的时区。获取日期时,如果不指定时区,结果将转换为浏览器的时区。换句话说:如果在GMT(格林威治标准时间)中创建日期/时间,则如果用户从美国中部浏览,则日期/时间将转换为CDT(美国中部夏令时)。 -
JavaScript短日期格式
短日期使用“MM/DD/YYYY”语法编写,如下所示:
尝试一下var d = new Date("03/25/2015");
警告!在某些浏览器中,没有前导零的月或日可能会产生错误:
var d = new Date("2015-3-25");
“YYYY/MM/DD”的行为未定义。有些浏览器会尝试猜测格式。有些人将返回NaN。var d = new Date("2015/03/25");
“DD-MM-YYYY”的行为也未定义。有些浏览器会尝试猜测格式。有些人将返回NaN。var d = new Date("25-03-2015");
-
JavaScript长日期格式。
长日期通常使用“MMM DD YYYY”语法编写,如下所示:
尝试一下var d = new Date("Mar 25 2015");
月和日可以按任何顺序排列:
尝试一下var d = new Date("25 Mar 2015");
并且,月份可以完整(January)或缩写(Jan)写入:
尝试一下var d = new Date("January 25 2015");
尝试一下var d = new Date("Jan 25 2015");
逗号被忽略了。名称不区分大小写:
尝试一下var d = new Date("JANUARY, 25, 2015");
-
日期输入 - 解析日期
如果您有一个有效的日期字符串,则可以使用该Date.parse()方法将其转换为毫秒。Date.parse()返回日期和1970年1月1日之间的毫秒数:
尝试一下var msec = Date.parse("March 21, 2012"); document.getElementById("demo").innerHTML = msec;
然后,您可以使用毫秒数将其转换为日期对象:
尝试一下var msec = Date.parse("March 21, 2012"); var d = new Date(msec); document.getElementById("demo").innerHTML = d;