我在UI中选择了2014年9月12日。
以下是代码
ctrl.$formatters.push(function (modelValue) {
console.log(modelValue);
var dt = new Date(modelValue);
dt.setMinutes(dt.getMinutes() + dt.getTimezoneOffset());
console.log(dt)
return dt;
});
我看到的两个控制台日志如下。
我不确定为什么没有正确执行从UTC到本地的转换。
提前致谢。
答案 0 :(得分:1)
目前还不清楚你要做什么。输入没有时间。是否要将当天的当前时间添加到任意日期?或者你只是想要一个当地的日期代表?我正在考虑后者。
而不是dt.setMinutes(...)
和以下两行,将所有三行替换为:
return dt.toLocaleDateString();
如果你想在任何输入的日期设置现在的时间(我不知道为什么......)但你可能会尝试:
dt.setTime( new Date().getTime() );
而不是setMinutes(...)
行。
return dt.toLocaleString;
所有日期对象都存储为毫秒,就像1972年一样。最好使用内置的Date对象方法从中获取所需的内容。 Here are the docs供参考。