使用js进行时间戳与日期的相互转化
程序员文章站
2022-05-27 16:12:00
...
场景描述:在开发salesforce站点时,为了让用户在竞价时限之后填写竞价金额,需要向用户提示下次修改竞价金额时间,这时为了保证alert的提示时间格式与site的DateTime类型时间格式一致,因此查阅了不少资料,找到了比较好的解决方案;
目标:假设竞价开始时间为:2017-7-21 下午3:00 竞价结束时间为:2017-7-21 下午6:00,竞价限时为:1h;如果用户第一次保存竞价金额的时间为:2017-7-21 下午3:14:02,那么下次修改竞价金额的时间至少在2017-7-21 下午4:14:02以后,为了与记录保持一致显示到分钟,必须使用+1min的策略。即提示用户下次竞价时间为:2017-7-21 下午4:15。
代码片段:
var dateStr = nextTimeObj.innerHTML;// dateStr是单位为s的时间戳字符串
var date = new Date(dateStr*1000+60000);// 将实际时间加1min
console.log(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + ( date.getMinutes() + 1 ));
console.log(date.toLocaleDateString().replace(/\//g, "-") + " " + date.toTimeString().substr(0, 8));
console.log(date.toLocaleDateString().replace(/\//g, "-"));
console.log(date.toLocaleString().replace(/\//g, "-"));
console.log(date.toLocaleString().replace(/\//g, "-").substr(0,16));
alert('当前竞价时限未过,下一次开始竞价时间为:'+date.toLocaleString());
打印结果:
日期转时间戳方法(ms):
var timestrap=(new Date('2017/5/11 11:42:18')).getTime();