JavaScript日期字符串转时间戳

本文介绍了一段JavaScript代码,用于将特定格式的日期时间字符串(如'2016010101:01:01')转换成时间戳。通过解析字符串中的年、月、日、时、分、秒,并考虑毫秒部分,最终返回一个表示该时间点的时间戳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不啰嗦,直接上源码

	window.onload = alert(f('2016010101:01:01'));
	function f(dateStr){
	  var parts = dateStr.match(/\d{2}/g);
	  if(null==parts){return -1+''}
	  var year = parts[0]+parts[1];
	  var month = parts[2];
	  var day = parts[3];
	  var time = dateStr.match(/\d{2}:\d{2}:\d{2}/)[0];
	  var ms ;//= dateStr.substring(dateStr.length-3);
	  if(dateStr.length==19){
	    ms = dateStr.substring(dateStr.length-3);
	  }
	  else{ms = '0'}
	  return new Date(year+'-'+month+'-'+day+' '+time).getTime() + parseInt(ms) + '';
	}
JavaScript 中的日期字符串换成时间戳是一个常见的需求,尤其在网络应用中处理数据时。JavaScript 提供了多种方法可以方便地完成这一操作。 ### 使用 `Date.parse()` `Date.parse()` 方法解析一个表示 UTC 时间的日期字符串并返回从 1970 年 1 月 1 日午夜(UTC/GMT)以来的时间毫秒数,即 Unix 毫秒级时间戳: ```javascript let timestamp = Date.parse("2024-03-25T18:45:30Z"); console.log(timestamp); // 输出例如:1711366980000 (实际值取决于所给定的具体时间和浏览器解析) ``` 需要注意的是该函数对于输入格式有一定要求,并且不同浏览器对某些非标准格式的支持程度可能存在差异。 ### 创建 `Date` 对象 另一种常用的方式就是直接通过创建新的 `Date` 实例然后调用其 `.getTime()` 或者 `.valueOf()` 来获取相应的时间戳: ```javascript // ISO 格式字符串 let dateISO = new Date('2024-03-25T18:45:30'); console.log(dateISO.getTime()); // 构造函数参数传入年份、月份等信息 let dateArgs = new Date(2024, 2, 25, 18, 45, 30); console.log(dateArgs.valueOf()); // 字符串形式但不是严格的 ISO8601 标准 let dateString = new Date('March 25, 2024 18:45:30'); console.log(dateString.getTime()); ``` 以上三种情况理论上都会得到同样的结果——对应于指定时刻的毫秒级别Unix时间戳。不过要注意的是,在传递非标准化格式作为构造器参数的情况下,跨平台兼容性和一致性可能会受到影响。 希望上述内容对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值