如何使用jQuery将文本日期(如"4 September 2022")转换为时间戳?
用jQuery将文本日期转换为时间戳的方法
jQuery本身没有专门的日期处理API,我们可以结合它的DOM操作能力和原生JavaScript的Date对象来实现需求,具体步骤如下:
1. 获取日期文本内容
假设你的日期标签结构类似这样:
<span class="date-tag">4 September 2022</span>
用jQuery获取标签内的文本:
const dateText = $('.date-tag').text().trim();
2. 转换为时间戳
方法一:直接解析日期字符串
大部分现代浏览器支持直接将该格式的日期字符串传入Date构造函数,再通过getTime()获取毫秒级时间戳:
const timestamp = new Date(dateText).getTime(); // 若需要秒级时间戳,可做如下处理 const secondTimestamp = Math.floor(timestamp / 1000);
也可以用Date.parse()方法,它会直接返回毫秒级时间戳:
const timestamp = Date.parse(dateText);
方法二:手动拆分日期(兼容性更强)
如果担心部分浏览器对日期字符串解析不兼容,可以手动拆分日、月、年部分,再构建Date对象:
const dateText = $('.date-tag').text().trim(); const [day, monthName, year] = dateText.split(' '); // 建立月份名称到数字的映射(注意JS中月份从0开始计数) const monthMap = { 'January': 0, 'February': 1, 'March': 2, 'April': 3, 'May': 4, 'June': 5, 'July': 6, 'August': 7, 'September': 8, 'October': 9, 'November': 10, 'December': 11 }; const timestamp = new Date(year, monthMap[monthName], parseInt(day)).getTime();
注意事项
getTime()返回的是毫秒级时间戳,若需要秒级的,记得除以1000并取整。- 手动拆分的方式兼容性更好,适合需要兼容旧版浏览器的场景。
内容的提问来源于stack exchange,提问作者hhh
相关产品推荐
相关产品推荐

