JS进阶DAY4|日期对象和时间戳
嘿,亲爱的小伙伴们!👋 今天我们要一起探索JavaScript中的日期和时间处理,让我们一起跳进时间的漩涡,看看怎么用代码玩转时间吧!
目录
1. 创建日期对象
首先,我们得有个“时间机器”—— Date 对象,它能帮助我们记录和穿越时间。
1.1 创建当前日期和时间的 Date 对象
let now = new Date(); // 瞧,这就创建了一个包含当前日期和时间的Date对象啦!
console.log(now); // 快看看,它会告诉你现在是什么时间,好神奇吧?
1.2 创建特定日期和时间的 Date 对象
如果你想去特定的时间旅行,比如回到你出生的那一天,可以这样做:
let birthday = new Date('1990-01-01T00:00:00'); // 看,我们可以精确到年月日时分秒哦!
console.log(birthday); // 哇,时间机器带我们回到了1990年的第一天!
2. 获取日期和时间的组成部分
现在,让我们来拆解一下这个时间机器,看看里面都有哪些零件。
2.1 获取年、月、日
let year = now.getFullYear(); // 嗯哼,这会告诉我们现在是哪一个年头。
let month = now.getMonth() + 1; // 月份是从0开始的,所以得加1哦,不然你会以为1月是一年的开始。
let day = now.getDate(); // 这个简单,就是看今天是几号。
console.log(`今天是${year}年${month}月${day}日,是不是很有趣?`);
2.2 获取时、分、秒
let hours = now.getHours(); // 这是小时数,一天的开始是0哦,所以晚上12点其实是0。
let minutes = now.getMinutes(); // 分钟,每过一分钟,这个数字就会增加。
let seconds = now.getSeconds(); // 秒,时间的最小单位,滴答滴答。
console.log(`现在的时间是${hours}点${minutes}分${seconds}秒,好精确啊!`);
2.3 获取周几
let dayOfWeek = now.getDay(); // 获取今天是星期几,0表示星期日,1表示星期一,以此类推
// 将数字转换为星期的名称
let days = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
let dayName = days[dayOfWeek];
console.log(`今天是${dayName}`); // 输出类似于 "今天是星期三"
3. 手动设置日期和时间
有时候,我们想要自己设定时间,就像设定闹钟一样。
3.1 设置年份
let date = new Date();
date.setFullYear(2025); // 嘿,把时间快进到2025年,想想那时候我们会在哪里?
3.2 设置月份
date.setMonth(11); // 把月份设为11,也就是12月
3.3 设置日期
date.setDate(30); // 把日期设为30
3.4 设置时间
date.setHours(12); // 把时间设为12点
date.setMinutes(0); // 分钟设为0,一切从零开始。
date.setSeconds(0); // 秒也设为0,完美!
4. 格式化日期
把日期打扮得漂漂亮亮的,让别人一眼就能看懂。我们可以用系统自带的方法来格式化日期。
4.1 系统自带的格式化方法
let now = new Date();
// toISOString 方法会返回一个ISO格式的字符串(YYYY-MM-DDTHH:mm:ss.sssZ)
let isoString = now.toISOString();
console.log(isoString); // 输出类似于 "2024-01-01T12:00:00.000Z"
// toLocaleDateString 和 toLocaleTimeString 可以返回本地化的日期和时间字符串
let localDate = now.toLocaleDateString();
let localTime = now.toLocaleTimeString();
console.log(localDate); // 输出类似于 "2024/01/01",格式取决于区域设置
console.log(localTime); // 输出类似于 "12:00:00",格式取决于区域设置
// 组合使用 toLocaleDateString 和 toLocaleTimeString
let formattedDateTime = `${localDate} ${localTime}`;
console.log(formattedDateTime); // 输出类似于 "2024/01/01 12:00:00"
4.2 自定义格式化
function formatDate(date) {
let year = date.getFullYear();
let month = (date.getMonth() + 1).toString().padStart(2, '0');
let day = date.getDate().toString().padStart(2, '0');
let hours = date.getHours().toString().padStart(2, '0');
let minutes = date.getMinutes().toString().padStart(2, '0');
let seconds = date.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
let formattedDate = formatDate(new Date());
console.log(formattedDate); // 看,日期变得多么整洁啊!
5. 时间戳
时间戳就像是时间的“指纹”,每个时刻都有它独一无二的标识。
5.1 获取当前时间戳
在JavaScript中,获取时间戳有几种方法,这里介绍几种常用的:
方法一:Date.now()
let timestamp = Date.now(); // 获得当前时间戳
console.log(timestamp); // 输出类似于 1670465600000
方法二:+new Date()
let timestamp = +new Date(); // 使用Unary Plus操作符获得当前时间戳
console.log(timestamp); // 输出类似于 1670465600000
方法三:new Date().getTime()
let timestamp = new Date().getTime(); // 获得当前时间戳
console.log(timestamp); // 输出类似于 1670465600000
方法四:new Date().valueOf()
let timestamp = new Date().valueOf(); // 获得当前时间戳
console.log(timestamp); // 输出类似于 1670465600000
5.2 从时间戳创建日期对象
如果你有一个时间戳,想要转换回日期对象,可以直接使用 new Date() 。
let dateFromTimestamp = new Date(1670465600000); // 使用时间戳创建日期对象
console.log(dateFromTimestamp); // 输出对应的日期和时间
好啦,我们今天的JavaScript日期和时间之旅就到这里啦!🚀 希望你们喜欢这次的探险,并且学到了一些新知识。如果你有任何疑问,或者想要更多地了解这个话题,随时欢迎留言哦!我们下次再见啦!👋💖
原文地址:https://blog.csdn.net/2301_80743865/article/details/144380470
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!