uniapp 打包后的App使用 new Date().toLocaleDateString() 无法获取 2021/10/29 格式的时间
使用手机模拟器和真机调试,均能通过new Date().toLocaleDateString()获取到2021/10/29格式的日期。但是在 app 打包后获取到的是查看了一下 MDN 中对 toLocaleDateString() 方法的解释:返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定
·
- 使用手机模拟器和真机调试,均能通过
new Date().toLocaleDateString()
获取到2021/10/29
格式的日期。 - 但是在 app 打包后获取到的是
查看了一下 MDN 中对 toLocaleDateString() 方法的解释:
返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现(behavior)
猜测应该是因为这种原因导致。
解决方法:
1.
let date= new Date();
let curDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
console.log(curDate) // '2021-10-29'
// 使用 Date.now();
let time = Date.now();
// 对时间戳进行转化
const timestampToTime = function(timestamp) {
var date = new Date(timestamp ); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D + h + m + s;
}
timestampToTime(time) // '2021-10-29 10:01:47'
更多推荐
已为社区贡献6条内容
所有评论(0)