Operating System
我的日期时间具有上述格式,但是它没有转换为本地时间,而是将月份改为11月。
11-06-2015 12:44:30
白色保存我正在使用C#的DateTime.UTCNow函数,在获取数据时我正在使用以下代码。
代码:
var check = moment('@Model.Invoice.InvoiceDate').format('YYYY-MM-DD HH:mm:ss');
var localTime = moment.utc(check).toDate();
localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
console.log(localTime);
正在发生的事情的例子:
var formatDate = new Date('@Model.Invoice.InvoiceDate.ToLocalTime()');
console.log(formatDate);
formatDate = moment.utc(formatDate).toDate();
console.log(formatDate);
var dateTime = moment(formatDate).format('lll');
console.log(dateTime);
答案 0 :(得分:2)
您可以使用ToString(" s")暂时打印UTC ISO 8601日期,但它将缺少Z,因此您需要自己添加。
var localTime = moment('@String.concat(Model.Invoice.InvoiceDate.ToString("s"), "Z")').format('lll');
或者在客户端添加Z:
var localTime = moment('@Model.Invoice.InvoiceDate.ToString("s")' + 'Z').format('lll');
答案 1 :(得分:1)
试试这个
var check = moment('11-06-2015 12:44:30', 'DD-MM-YYYY HH:mm:ss')
.format('YYYY-MM-DD HH:mm:ss');
或者在你的情况下这个
var check = moment('@Model.Invoice.InvoiceDate', 'DD-MM-YYYY HH:mm:ss')
.format('YYYY-MM-DD HH:mm:ss');
而不是
var check = moment('@Model.Invoice.InvoiceDate')
.format('YYYY-MM-DD HH:mm:ss');
在给出日期字符串的时刻时,您需要指定哪个部分是什么。