JavaScript时间处理
上周用Thinkjs+Vue+Boostrap+Mysql做了一个账单分析系统,功能比较单一,添加售出的商品,折扣价,销售价,货源价,销售月份。
今天运行看看却发现不知道哪个时间销售出了物件还莫名赚了钱,不爽我要看看究竟是哪一天哪个时间赚了,可是后台没这个功能呢,用nodejs还真没处理过,Java处理过,C#处理过,Php也简单写过(一句话搞定),都是比较麻烦的。翻翻资料一看,js还真简单。
1.时间=>时间戳
数据库真正存的还是整型的不大于11位的数字,总体上有三种解决办法
(1)Date.parse(new Date())
这种只是精确到了秒13位后3位为000,不过这种在要求不是很严格的情况下已经够用了除以1000存进数据库
(2)parseInt(Date.now())
这种就比较准确了精确到毫秒,不过业务不要求那么准确貌似也没什么卵用,推荐用这个吧,不用创建什么对象(parseInt(Date.now()/1000))
(3)(new Date()).valueOf()和new Date().getTime()
这两种就不用说啦,基于对象的,从深层次说还是走了不少弯路的.创建对象->获取字符串日期->字符串转换时间戳,一般情况下还是第二种比较常用
2.时间戳=>时间
前后端其实可以引入moment.js直接调用API就轻松的转化了,用js也是可以的。
new Date(时间戳) hiahia 但是时间格式不是你想要的,那就自己动手写方法喽。
function timetrans(date){
var date = new Date(date*1000);//如果date为13位不需要乘1000
var Y = date.getFullYear() + '-'; var M = (date.getMonth()+1
var D = (date.getDate()
var h = (date.getHours()
var m = (date.getMinutes()
var s = (date.getSeconds()
return Y+M+D+h+m+s;
}
[ 习惯了没有你的孤独 ]
好了,基本就搞定了。洗洗睡
领取专属 10元无门槛券
私享最新 技术干货