嘿,亲爱的小伙伴们!👋 今天我们要一起探索JavaScript中的日期和时间处理,让我们一起跳进时间的漩涡,看看怎么用代码玩转时间吧!
目录
1. 创建日期对象
1.1 创建当前日期和时间的 Date 对象
1.2 创建特定日期和时间的 Date 对象
2. 获取日期和时间的组成部分
2.1 获取年、月、日
2.2 获取时、分、秒
2.3 获取周几
3. 手动设置日期和时间
3.1 设置年份
3.2 设置月份
3.3 设置日期
3.4 设置时间
4. 格式化日期
4.1 系统自带的格式化方法
4.2 自定义格式化
5. 时间戳
5.1 获取当前时间戳
5.2 从时间戳创建日期对象
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日期和时间之旅就到这里啦!🚀 希望你们喜欢这次的探险,并且学到了一些新知识。如果你有任何疑问,或者想要更多地了解这个话题,随时欢迎留言哦!我们下次再见啦!👋💖