JavaScript 日期
JavaScript 日期的使用方法。
实例
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo">
<script>
var d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
JavaScript 日期输出
默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串:
Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间)
创建 Date 对象
Date 对象由新的 Date() 构造函数创建。有 4 种方法创建新的日期对象:
- new Date()
- new Date(year, month, day, hours, minutes, seconds, milliseconds)
- new Date(milliseconds)
- new Date(date string)
new Date()
new Date() 用当前日期和时间创建新的日期对象:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>使用 new Date(),使用当前日期和时间创建一个新的日期对象:</p>
<p id="demo">
<script>
var d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
日期对象是静态的。计算机时间会不停的变,但日期对象不会。
new Date(year, month, …)
new Date(year, month, …) 用指定日期和时间创建新的日期对象。
7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序):
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>使用 new Date(7 numbers),使用指定的日期和时间创建一个新的日期对象:</p>
<p id="demo">
<script>
var d = new Date(2019, 12, 25, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
注释:JavaScript 从 0 到 11 计算月份。一月是 0。十二月是11。 6个数字指定年、月、日、小时、分钟、秒:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>6 个数字指定年、月、日、时、分、秒:</p>
<p id="demo">
<script>
var d = new Date(2019, 12, 25, 10, 33, 30);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
5个数字指定年、月、日、小时和分钟:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>5 个数字指定年、月、日、时、分:</p>
<p id="demo">
<script>
var d = new Date(2018, 11, 24, 10, 33);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
4个数字指定年、月、日和小时:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo">
<script>
var d = new Date(2018, 11, 24, 10);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
3 个数字指定年、月和日:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>3 个数字指定年、月、日:</p>
<p id="demo">
<script>
var d = new Date(2018, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
2个数字指定年份和月份:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>2 个数字指定年、月:</p>
<p id="demo">
<script>
var d = new Date(2018, 11);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
您不能省略月份。如果只提供一个参数,则将其视为毫秒。
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>一个参数会被解释为:new Date(milliseconds)。</p>
<p id="demo">
<script>
var d = new Date(2018);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
上个世纪
一位和两位数年份将被解释为 19xx 年:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>两位年份将被解释为 19xx:</p>
<p id="demo">
<script>
var d = new Date(99, 12, 25);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>一位的年份会被解释为 19xx:</p>
<p id="demo">
<script>
var d = new Date(9, 12, 25);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
new Date(dateString)
new Date(dateString) 从日期字符串创建一个新的日期对象:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>可以使用指定的日期和时间创建 Date 对象:</p>
<p id="demo">
<script>
var d = new Date("December 25, 2019 12:46:00");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
JavaScript 将日期存储为毫秒
JavaScript 将日期存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。
零时间是 1970 年 1 月 1 日 00:00:00 UTC。
现在的时间是:1970 年 1 月 1 日之后的 1554166879383 毫秒。
new Date(milliseconds)
new Date(milliseconds) 创建一个零时加毫秒的新日期对象:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>使用 new Date(<i>milliseconds</i>),创建一个零时(January 1, 1970, 00:00:00 Universal Time)加毫秒的新日期对象:</p>
<p id="demo">
<script>
var d = new Date(0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
1970年 1 月 1 日加上100 000 000 000毫秒,大约是 1973 年 3 月 3 日:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>1970 年 1 月 1 日起的 100000000000 毫秒,大约是 1973 年 3 月 3 日:</p>
<p id="demo">
<script>
var d = new Date(100000000000);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
1970 年 1 月 1 日减去 100 000 000 000 毫秒大约是 1966 年 10 月 31 日:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>1970 年 1 月 1 日起的 100000000000 毫秒,大约是 1966 年 10 月 31 日:</p>
<p id="demo">
<script>
var d = new Date(-100000000000);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>使用 new Date(<i>milliseconds</i>),创建一个零时(January 1, 1970, 00:00:00 Universal Time)加毫秒的新日期对象::</p>
<p id="demo">
<script>
var d = new Date(86400000);
document.getElementById("demo").innerHTML = d;
</script>
<p>一天(24小时)是 86,400,000 毫秒。</p>
</body>
</html>
一天(24 小时)是 86 400 000 毫秒。
日期方法
创建 Date 对象时,可以使用许多方法对其进行操作。日期方法允许您使用本地时间或 UTC(通用或 GMT)时间来获取和设置日期对象的年、月、日、小时、分钟、秒和毫秒。日期方法和时区将在下一章中介绍。
显示日期
JavaScript(默认情况下)将以全文本字符串格式输出日期:
Wed Mar 25 2015 08:00:00 GMT+0800 (中国标准时间)
在 HTML 中显示日期对象时,会使用 toString() 方法自动转换为字符串。
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo">
<script>
var d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
toUTCString() 方法将日期转换为 UTC 字符串(一种日期显示标准)。
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Date()</h2>
<p>toUTCString() 方法将日期转换为 UTC 字符串(日期显示标准):</p>
<p id="demo">
<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();
</script>
</body>
</html>
toDateString() 方法将日期转换为更易读的格式:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript toDateString()</h2>
<p>toDateString() 方法将日期转换为日期字符串:</p>
<p id="demo">
<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();
</script>
</body>
</html>