1、js只识别13位的时间戳
2、10位的是unix时间戳
可先将js字符串转换为date类型,再转换为时间戳类型。
字符串格式为yyyy-MM-dd HH:mm:ss
或者yyyy-MM-dd
//把字符串转换成时间格式
let date = new Date('2023-11-12 13:14:15:16');// 精确到毫秒
let time1 = date.getTime();// 精确到毫秒
let time2 = date.valueOf();// 精确到秒
let time3 = Date.parse(date);
console.log(time1)
console.log(time2)
console.log(time3)// 输出结果
// 1699766055016
// 1699766055016
// 1699766055000
console.log('time1=='+time1,'长度:'+time1.toString().length)
console.log('time2=='+time2,'长度:'+time2.toString().length)
console.log('time3=='+time3,'长度:'+time3.toString().length)// 输出结果
time1==1699766055016 长度:13
time2==1699766055016 长度:13
time3==1699766055000 长度:13
time1、time2:会精确到毫秒,
time3:只能精确到秒,毫秒用000替代,----------
注意:获取到的时间戳除以1000就可获得Unix时间戳,再传值给后台。----------
Date() 返回当日的日期和时间。
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setYear() 请使用 setFullYear() 方法代替。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setTime() 以毫秒设置 Date 对象。
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
toSource() 返回该对象的源代码。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toDateString() 把 Date 对象的日期部分转换为字符串。
toGMTString() 请使用 toUTCString() 方法代替。
toUTCString() 根据世界时,把 Date 对象转换为字符串。
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
UTC() 根据世界时返回 1997 年 1 月 1 日 到指定日期的毫秒数。valueOf() 返回 Date 对象的原始值。
第一种:2022:08:16 12:00:00
第二种:2022-08-16 12:00:00
第三种:2020-10-27T14:36:23
var time = '2022:08:16 12:00:00';new Date(time);//会报错var timeArray=time.split(' ');//分割var _time1=timeArray[0];//只赋值日期部分_time1=_time1.replace(/:/g,'/');//把:替换成/time=_time1+' '+timeArray[1];//连接成可解析的时间格式new Date(time);//不报错
运行结果
var time = '2022-08-16 12:00:00';time=time.replace(/-/g,'/');//把-替换成/new Date(time);//不报错
运行结果
调用时如果传空则是当前日期
/*** 时间戳转换* */
function DateTimeConvert(time, type) {var d= new Date(); if(time==''||time=='null'||time==undefined){d= new Date();} else if(time.toString().length==10) {//js只识别13位的时间戳,一般情况下后端的时间戳是10位的time = Number(time)*1000;d= new Date(time); }else if(time.toString().length==13){time = Number(time);d= new Date(time); }else{console.error('时间戳格式错误');return false;}var year = d.getFullYear();var month = d.getMonth() + 1;var day = d.getDate();var hours = d.getHours();var min = d.getMinutes();var seconds = d.getSeconds();if (month < 10) month = '0' + month;if (day < 10) day = '0' + day;if (hours < 0) hours = '0' + hours;if (min < 10) min = '0' + min;if (seconds < 10) seconds = '0' + seconds;var res = "";switch (type) {case 'yyyy-mm-dd':res = (year + '-' + month + '-' + day);break;case 'yyyy-mm-dd hh:mm':res = (year + '-' + month + '-' + day + ' ' + hours + ':' + min);break;default:res = (year + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + seconds);break;}return res;
};
文章一:
js 中日期转换成时间戳
https://www.cnblogs.com/mmzz3322/p/11218017.html文章二:
时间戳转换js
https://blog.csdn.net/L_15737525552/article/details/126370583
js将时间转换成时间戳10位_js 日期转10位时间戳_橙-极纪元的博客-CSDN博客
js 获取时间戳 和随机数_js取时间戳的随机数_橙-极纪元的博客-CSDN博客
js 时间戳格式转换常规时间格式_js日期格式转化为常规格式_橙-极纪元的博客-CSDN博客
js将/Date(1642563573347)/转成可读的日期格式,js时间戳转换可读的日期格式_js /date(16725_橙-极纪元的博客-CSDN博客
JS 时间运算大全_11:20-7:50怎么算 js_橙-极纪元的博客-CSDN博客
万能js时间日期格式转换_橙-极纪元的博客-CSDN博客