var utcMilliSeconds = 1486116995814;
// UTC time:03/02/2017 10:16:35 (From epoch Converter)
// IST time:03/02/2017, 15:46:35 (From epoch converter)
moment.utc(1486116995814).local().format("DD/MM/YYYY HH:MM:ss"); //IST time:03/02/2017 15:02:35 but it's wrong
moment.utc(1486116995814).toDate(); //Fri Feb 03 2017 15:46:35 GMT+0530 (India Standard Time)
toDate()
给出正确的时间,但我不想使用toDate()
因为 JavaScript 日期的格式不灵活。
moment.local()
有什么问题,为什么它没有给出准确的时间,有什么简单的方法可以在不使用任何其他库的情况下将 UTC millis 转换为浏览器的时间?
您使用大写MM
而不是小写mm
来格式化分钟。请参阅格式化文档。 MM
代表几个月,而mm
代表分钟。
这里有一个工作示例:
var s = moment.utc(1486116995814).local().format("DD/MM/YYYY HH:mm:ss");
console.log(s);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
我尝试了这种方式并正常工作
var timeInUTCMiliSecond = 1641367170421
let ConvertedTime = moment.unix(timeInUTCMiliSecond / 1000).format("hh:mm")
consol.log(ConvertedTime)
或您想要的任何格式