在工作中,后端返回的日期格式经常为标准日期格式,此时需要进行转化变为“年月日时分秒”再展示到页面中:
什么是标准时间格式?
在控制台输入new Date()
即可以拿到标准时间格式。
后端经常返回的时间格式
时间格式:-05-11T08:54:56.993
转化为“年月日时分秒”格式
如果是标准的时间格式,则可以通过date.getFullYear()
获取到年份等信息:
标准日期格式转化为年月日时分秒的转化函数:
function getDateString(date) {var year = date.getFullYear().toString().padStart(4, "0");var month = (date.getMonth() + 1).toString().padStart(2, "0");var day = date.getDate().toString().padStart(2, "0");var hour = date.getHours().toString().padStart(2, "0");var minute = date.getMinutes().toString().padStart(2, "0");var second = date.getSeconds().toString().padStart(2, "0");return `${year}-${month}-${day} ${hour}:${minute}:${second}`;}
如果后端返回的时间格式为:-05-11T08:54:56.993
这种格式转化为年月日时分秒的函数如下:
function getDateString(val) {var date = new Date(val);//先通过new Date()进行格式的转化,转化为标准格式后再进行年月日时分秒的转化var year = date.getFullYear().toString().padStart(4, "0");var month = (date.getMonth() + 1).toString().padStart(2, "0");var day = date.getDate().toString().padStart(2, "0");var hour = date.getHours().toString().padStart(2, "0");var minute = date.getMinutes().toString().padStart(2, "0");var second = date.getSeconds().toString().padStart(2, "0");return `${year}-${month}-${day} ${hour}:${minute}:${second}`;}
月份 日期补0的问题
前端开发中,会遇到字符串填充的问题,padStart()
和padEnd()
可能会有帮助:
str.padStart(targetLength,string):
参数:第一个参数:目标长度,第二个参数:补充元素
如果str
字符串的长度不足(小于目标长度),则用补充元素进行补充。
使用指定字符串填充到目标字符串前面,使其达到目标长度;
str.padEnd(targetLength,string):
参数:第一个参数:目标长度,第二个参数:补充元素
如果str
字符串的长度不足(小于目标长度),则用补充元素进行补充。
使用指定字符串填充到目标字符串后面,使其达到目标长度;
举例:创建一个数组,数组包含12个月份,月份格式是:“01”,“02” … “10”,“11”,“12”;
let monList = [];for (var i = 1; i < 13; i++) {monList.push((i + "").padStart("2", "0"))}console.log(monList);
如果觉得《标准日期格式转化为“年月日时分秒”——padStart()补0问题》对你有帮助,请点赞、收藏,并留下你的观点哦!