我尝试将dateTime字符串格式( dd / MM / yyyy HH:mm:ss )转换为本地用户时间。这段代码正在运行,但我认为使用 moment.js 可以写得更简单......但是,我不明白怎么做。
$(document).ready(function () {
$(".DateToLocalTime").each(function () {
ConvertToLocalTime(this);
});
});
function ConvertToLocalTime(div) {
debugger;
var input = div.innerText;
var formatedDate = moment(input, 'DD/MM/YYYY HH:mm:ss').format();
var newDate = moment.utc(formatedDate).toDate();
var offset = newDate.getTimezoneOffset() / 60;
var hours = newDate.getHours();
newDate.setHours(hours - offset);
var formatedDateFinale = moment(newDate).format('DD/MM/YYYY HH:mm:ss');
div.html(formatedDateFinale);
}
例如: 如果我有这个日期: 13/04/2017 09:30:'15 作为输入,那么:
如果你想帮助我,请提前多多谢谢。
答案 0 :(得分:0)
看起来您正尝试使用特定的字符串格式从UTC转换为本地时间。
你想要手动做很多事情。时刻可以为你做到这一点。
// define the format
var fmt = 'DD/MM/YYYY HH:mm:ss';
// parse your input string as UTC, using that format
var m = moment.utc(input, fmt);
// convert to local time
m.local();
// create the output string in the same format
var result = m.format(fmt);
或者简单地说:
var fmt = 'DD/MM/YYYY HH:mm:ss';
var result = moment.utc(input, fmt).local().format(fmt);