使用js进行时间戳与日期的相互转化

来源:互联网 发布:教课程财务会计软件 编辑:程序博客网 时间:2024/05/16 00:02

场景描述:在开发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);// 将实际时间加1minconsole.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();

参考资料:http://www.cnblogs.com/nield-bky/p/6040853.html