前端处理甘特图的时间格式
转载链接:https://blog.csdn.net/dreamweaver_zhou/article/details/80568670
js中时间戳与日期格式的相互转换:
1. 将时间戳转换成日期格式:
function timestampToTime(timestamp) {
var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
return Y+M+D+h+m+s;
}
timestampToTime(1403058804);
console.log(timestampToTime(1403058804));//2014-06-18 10:33:24
2. 将日期格式转换成时间戳:
var date = new Date('2014-04-23 18:55:49:123');
// 有三种方式获取
var time1 = date.getTime();
var time2 = date.valueOf();
var time3 = Date.parse(date);
console.log(time1);//1398250549123
console.log(time2);//1398250549123
console.log(time3);//1398250549000
以上三种获取方式的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒用000替代
以上三个输出结果可观察其区别
注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。
实测:
$.ajax({
type: "GET",
url: "/ajax",
async:false,
dataType: "json",
success: function(data){
var protask=data.tasks;
for(var i = 0; i < protask.length; i++){
var cur_protask = protask[i];
var time1 = Date.parse(protask[i].start);
var time2 = Date.parse(protask[i].end);
protask[i].start =time1;
protask[i].end = time2;
}
ret = data;
}
});