JS方法——Date(日期)
- 默认情况下,JavaScript将使用浏览器的时区并将日期显示为全文本字符串。
- ISO 8601是表现日期和时间的国际标准,语法 (YYYY-MM-DD)
- 用指定日期和时间创建新的日期对象,7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序)
- JavaScript是从0开始到11计算月份的。0即使1月份
- 可以使用省略法,最少能省略2个到月份。如果设置1个,那就是设置毫秒。
- 在设置日期是,如果不规定时区,则JavaScript会使用浏览器时区
- 当获取日期时,如果不规定时区,则结果会被转换为浏览器时区。
var d = new Date(2018, 11, 24, 10, 33, 30, 0);
d = new Date();
document.getElementById("demo").innerHTML = d.toString();
有四种 JavaScript 日期输入格式:
类型 | 实例 |
---|---|
ISO 日期 | "2018-02-19" (国际标准) |
短日期 | "02/19/2018" 或者 "2018/02/19" |
长日期 | "Feb 19 2018" 或者 "19 Feb 2019" |
完整日期 | "Monday February 25 2015" |
- UTC(Universal Time Coordinated)协调世界时,又称世界统一时间,等同于GMT(格林威治时间)
- 日期和时间通过大写字母T来分隔,UTC时间通过大写字母Z来定义。
- 如果希望修改相对于UTC的时间,请删除Z并用+HH:MM或-HH:MM代替。
- 在日期和时间字符串中省略T或Z,在不同的浏览器中,会显示不同的结果。
<body>
<h2>JavaScript ISO 日期</h2>
<p>通过加 +HH:MM或减 -HH:MM 时间来修改相对于 UTC 的时间。</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
new Date("2015-03-25T12:00:00-06:00");
</script>
</body>
日期获取方法:
- 用于获取日期某个部分的方法
方法 | 描述 |
---|---|
getDate() | 以数值返回天(1-31) |
getDay() | 以数值获取周名(0-6) |
getFullYear() | 获取四位的年(yyyy) |
getHours() | 获取小时(0-23) |
getMilliseconds() | 获取毫秒(0-999) |
getMinutes() | 获取分(0-59) |
getMonth() | 获取月(0-11) |
getSeconds() | 获取秒(0-59) |
getTime() | 获取时间(从 1970 年 1 月 1 日至今) |
getUTCDate() | 等于 getDate(),但返回 UTC 日期 |
getUTCDay() | 等于 getDay(),但返回 UTC 日 |
getUTCFullYear() | 等于 getFullYear(),但返回 UTC 年 |
getUTCHours() | 等于 getHours(),但返回 UTC 小时 |
getUTCMilliseconds() | 等于 getMilliseconds(),但返回 UTC 毫秒 |
getUTCMinutes() | 等于 getMinutes(),但返回 UTC 分 |
getUTCMonth() | 等于 getMonth(),但返回 UTC 月 |
getUTCSeconds() | 等于 getSeconds(),但返回 UTC 秒 |
getTime()
- 方法返回自1970年1月1日以来的毫秒数
var d = new Date();
document.getElementById("demo").innerHTML = d.getTime();
getMonth()
- 以数字0-11返回日期的月份,一月是月号0,因此12月返回月号11
var d = new Date();
document.getElementById("demo").innerHTML = d.getMonth();
getDay()
- 以数字0-6返回日期的星期名
- 在JavaScript中,一周的第一天(0)表示“星期日”
设置日期的某个部分:
方法 | 描述 |
---|---|
setDate() | 以数值(1-31)设置日 |
setFullYear() | 设置年(可选月和日) |
setHours() | 设置小时(0-23) |
setMilliseconds() | 设置毫秒(0-999) |
setMinutes() | 设置分(0-59) |
setMonth() | 设置月(0-11) |
setSeconds() | 设置秒(0-59) |
setTime() | 设置时间(从 1970 年 1 月 1 日至今的毫秒数) |
日期比较:
比较今日与2049年1月16日进行比较。
var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2049, 0, 16);
if (someday > today) {
text = "今天在 2049 年 1 月 16 日之前";
} else {
text = "今天在 2049 年 1 月 16 日之后";
}
document.getElementById("demo").innerHTML = text;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)