十三、js日期格式
1.输出格式
默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串:
d = new Date();
document.getElementById("demo").innerHTML = d;
//或者document.getElementById("demo").innerHTML = d.toString();
//Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间)
日期对象是静态的。计算机时间正在滴答作响,但日期对象不会。
toUTCString() 方法将日期转换为 UTC 字符串(一种日期显示标准)。
var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();
// Wed, 05 Feb 2020 03:44:34 GMT
toDateString() 方法将日期转换为更易读的格式:
var d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();
// Wed Feb 05 2020
2.创建date()对象
Date 对象由新的 Date() 构造函数创建。
有 4 种方法创建新的日期对象:
• new Date():new Date() 用当前日期和时间创建新的日期对象
var d = new Date();
• new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(year, month, …) 用指定日期和时间创建新的日期对象。
7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序)
var d = new Date(2018, 11, 24, 10, 33, 30, 0);
2018年12月24日10:33:30:0
(月份的计数从0开始)
当保留两个即以上参数正常解释
当保留一个参数时候参数认定为毫秒new Date(milliseconds)
一位和两位数年份将被解释为 19(xx+1) 年:
var d = new Date(99, 11, 24);
// Tue Jan 25 2000 00:00:00 GMT+0800 (中国标准时间)
var d = new Date(9, 11, 24);
// Tue Jan 25 1910 00:00:00 GMT+0800 (中国标准时间)
三位数年份解释为 xxx+1年
var d = new Date(999, 11, 24);
// Sat Jan 25 1000 00:00:00 GMT+0805 (中国标准时间)
• new Date(milliseconds)
JavaScript 将日期存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。UTC(Universal Time Coordinated)等同于 GMT(格林威治时间)
零时间是 1970 年 1 月 1 日 00:00:00 UTC。
var d = new Date(0);// Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)
一天(24 小时)是 86 400 000 毫秒。
var d = new Date(86400000);
// Fri Jan 02 1970 08:00:00 GMT+0800 (中国标准时间)
• new Date(date string)
new Date(dateString) 从日期字符串创建一个新的日期对象:
“月 日,年 时间”
var d = new Date("October 13, 2014 11:13:00");
// Wed Dec 25 2019 12:46:00 GMT+0800 (中国标准时间)
3.四种 JavaScript 日期输入格式:
var d = new Date(“2018-02-19”);
可以有”年-月-日”,或者”年-月”,”年”
写日期也可以添加时、分和秒 (YYYY-MM-DDTHH:MM:SS):
var d = new Date(“2018-02-19T12:00:00”);
日期和时间通过大写字母 T 来分隔。
UTC 时间通过大写字母 Z 来定义。
如果您希望修改相对于 UTC 的时间,请删除 Z 并用 +HH:MM 或 -HH:MM 代替
在日期-时间字符串中省略 T 或 Z,在不同浏览器中会产生不同结果。
4.时区-浏览器
在设置日期时,如果不规定时区,则 JavaScript 会使用浏览器的时区。
当获取日期时,如果不规定时区,则结果会被转换为浏览器时区。
5.短日期
短日期通常使用 “MM/DD/YYYY” 这样的语法:
var d = new Date("02/19/2018");
警告:
在某些浏览器中,不带前导零的月或其会产生错误:
var d = new Date("2018-2-19");
“YYYY / MM / DD”的行为未定义。
6.长日期
长日期通常以 “MMM DD YYYY” 这样的语法来写
var d = new Date("Feb 19 2018")
月和天能够以任意顺序出现:
var d = new Date("19 Feb 2018");
逗号会被忽略,且对大小写不敏感:
var d = new Date("FEBRUARY, 25, 2015");
7.完整日期
JavaScript 接受“完整 JavaScript 格式”的日期字符串
(JavaScript 会忽略日期名称和时间括号中的错误)
var d = new Date("Mon Feb 19 2018 06:55:23 GMT+0100 (W. Europe Standard Time)");
9.
10.
11.比较日期
<script>
var today, someday, text;
today = new Date();
someday = new Date(2020, 0, 1);
if (someday > today) {
text = "今天在 "+someday.toLocaleString()+" 之前。";
} else {
text = "今天在 "+someday.toLocaleString()+" 之后。";
}
document.getElementById("demo").innerHTML = text;
</script>
//今天在 2020/1/1 上午12:00:00 之后。