首页 > 编程笔记 > JavaScript笔记
阅读:4
JavaScript Date对象的用法(附带实例)
JavaScript 对象分为 3 种,分别是自定义对象、内置对象和浏览器对象:
Date 是 JavaScript 的一个内置对象,用于处理日期和时间。
在使用 JavaScript 开发 Web 应用程序时,经常需要处理和时间相关的问题,比如用户访问网站的时间、购买产品下订单的时间、用户登录的时间等。为此,JavaScript 提供了日期时间对象 Date,来满足开发者的需求。
创建 Date 对象实例有 4 种方式,语法格式如下:
示例如下:
Date 对象的常用方法如下表所示。
【实例】格式化输出当前系统时间。
【实例】新年倒计时。
- 自定义对象由开发者自定义;
- 内置对象由 ECMAScript 提供;
- 浏览器对象包括 DOM 和 BOM。
Date 是 JavaScript 的一个内置对象,用于处理日期和时间。
在使用 JavaScript 开发 Web 应用程序时,经常需要处理和时间相关的问题,比如用户访问网站的时间、购买产品下订单的时间、用户登录的时间等。为此,JavaScript 提供了日期时间对象 Date,来满足开发者的需求。
创建 Date 对象实例有 4 种方式,语法格式如下:
var d = new Date(); var d = new Date(milliseconds); var d = new Date(dateString); var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
- milliseconds 是一个整数值,表示自 1970 年 1 月 1 日 00:00:00 以来的毫秒数;
- dateString 是表示日期的字符串值;
- year、month、day、hours、minutes、seconds 和 milliseconds 分别表示年、月、日、小时、分钟、秒、毫秒,其中 day、hours、minutes、seconds 和 milliseconds 可以省略。
示例如下:
var today = new Date(); // 系统当前日期 var d1 = new Date("October 13, 2022 11:13:00"); // 2022年10月13日11点13分0秒 var d2 = new Date(2022, 5, 24); // 2022年6月24日 var d3 = new Date(2022, 5, 24, 11, 33, 0); // 2022年6月24日11点33分0秒
Date 对象的常用方法如下表所示。
方法名 | 功能 |
---|---|
getFullYear | 返回年份 |
getHours | 返回小时(从 0~23) |
getMinutes | 返回分钟(从 0~59) |
getMonth | 返回月份(从 0~11) |
getSeconds | 返回秒数(从 0~59) |
getDate | 返回月中的第几天(从 1~31) |
getDay | 返回星期几(0~6) |
toLocaleString | 使用区域设置约定将 Date 对象转换为字符串 |
【实例】格式化输出当前系统时间。
var date = new Date(); // 获取系统当前时间 var year = date.getFullYear(), month = date.getMonth() + 1, date = d.getDate(), day = date.getDay(), hour = date.getHours(), minute = date.getMinutes(), second = date.getSeconds(); var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; hour = hour < 10 ? '0' + hour : hour; // 补0 minute = minute < 10 ? '0' + minute : minute; second = second < 10 ? '0' + second : second; console.log("现在时间是: " + year + '年' + month + '月' + date + '日' + hour + ':' + minute + ':' + second + week[day]); console.log(date.toLocaleString());程序在获取当前系统时间后,使用 Date 对象方法分别获取年、月、日、时、分、秒数据,然后格式化输出。程序在 Chrome 浏览器控制台中的运行结果为:
现在时间是: 2024年4月5日 14:30:25 星期五
2024/4/5 14:30:25
【实例】新年倒计时。
function countDown() { var nowTime = new Date(); // 当前时间 var nextYear = parseInt(nowTime.getFullYear()) + 1; // 计算下一年份 var inputTime = new Date(nextYear + "-1-1 0:0:0"); // 新年时间 var times = (inputTime - nowTime) / 1000; // times 是剩余时间总的秒数 var d = parseInt(times / 60 / 60 / 24); // 天 d = d < 10 ? '0' + d : d; var h = parseInt(times / 60 / 60 % 24); // 时 h = h < 10 ? '0' + h : h; var m = parseInt(times / 60 % 60); // 分 m = m < 10 ? '0' + m : m; var s = parseInt(times % 60); // 秒 s = s < 10 ? '0' + s : s; return "距离" + nextYear + "年还剩" + d + '天' + h + '小时' + m + '分钟' + s + '秒'; } console.log(countDown());程序中定义了函数 countDown(),它返回距离下一个新年所剩时间。其中,返回的两个日期时间之差是相差的毫秒数,通过算法转换成相应的天、小时、分钟和秒。程序在 Chrome 浏览器控制台中的运行结果为:
距离2026年还剩272天 23小时 59分钟 59秒
Date 对象处理日期和时间的方法很多,但很烦琐,要记住这些方法并不容易,而且输出的时间往往不是我们最终想要的本地化时间。项目开发中可以使用 Moment.js、Day.js 等开源日期处理类库来简化代码。