本文共 1825 字,大约阅读时间需要 6 分钟。
将时间戳或带格式的日期转换为标准格式。
new Date('2015-11-11') 转换为标准格式:Mon Nov 11 2015 08:00:00 GMT+0800 (中国标准时间)。new Date(1515260000000) 转换为标准格式:Sat Sep 01 2018 08:00:00 GMT+0800 (中国标准时间)。如何将时间戳转换为特定格式(如 yyyy-MM-dd hh:mm:ss 或 yyyy-MM-dd)?
使用以下方法:
// 日期格式化方法 function parseTimeNew(date) { const ndate = new Date(date); const type = 'yyyy-MM-dd'; const o = { 'M+': ndate.getMonth() + 1, 'd+': ndate.getDate(), 'h+': ndate.getHours(), 'm+': ndate.getMinutes(), 's+': ndate.getSeconds(), 'q+': Math.floor((ndate.getMonth() + 3) / 3), 'S': ndate.getMilliseconds() }; if (/(y+)/.test(type)) { type = type.replace(/(y+)/, (ndate.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (const k in o) { if (new RegExp('(' + k + ')').test(type)) { type = type.replace(RegExp.$1, (RegExp.$1.length === 1) ? o[k] : (('00' + o[k]).substr(('' + o[k]).length)); } } return type; } 使用方法:
parseTimeNew(1842760000000); // 将时间戳转换为 `yyyy-MM-dd` 格式
如何判断给定日期是否为昨天?
// 判断日期是否为昨天 function isYestday(theDate) { const date = new Date(); const today = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime(); const yestday = new Date(today - 24 * 3600 * 1000).getTime(); return theDate.getTime() < today && yestday <= theDate.getTime(); } const time = new Date('2013-11-11'); isYestday(time); // 返回 `false`,表示 `time` 不是今天 如何获取今天0点和23:59分的时间戳?
const todayDate = new Date(new Date().toLocaleDateString()); const startTime1 = new Date(todayDate.getTime()); // 当天0点 const endTime1 = new Date(todayDate.getTime() + 24 * 60 * 60 * 1000 - 1); // 当天23:59
通过以上方法,可以轻松实现日期与时间戳的转换与处理。这些方法适用于多种场景,如数据分析、日志记录等,能够帮助您高效管理时间相关的业务逻辑。
转载地址:http://hagfz.baihongyu.com/