我正在使用angularJs和moment js。我有一个发送例如
的文本框中午12:00
到函数(apptime) - 然后我做
var newtime = moment(apptime,'hh:mm:ss');
这就是控制台输出的内容:
Thu Jan 01 1970 12:00:00 GMT+0000 (GMT Standard Time)
所以时间很好,我看到那里的12:00:00 ..
然后(因为数据库结构)我想将它转换为:
1899-12-30 12:00:00
所以我这样做:
console.log("1899-12-30 " + newtime.format('hh:mm:ss'));
无论日期是什么,响应总是
1899-12-30 01:00:00
为什么认为01是小时?
答案 0 :(得分:1)
它应该转换为UTC时间。
变化:
console.log("1899-12-30 " + newtime.format('hh:mm:ss'));
要:
console.log("1899-12-30 " + moment(newtime).utc().format('hh:mm:ss'));
答案 1 :(得分:0)
试试这个。您对moment.js的输入格式不正确。
var apptime = '12:00 PM';
var newtime = moment(apptime,'hh:mm a');
console.log(apptime);
console.log(newtime);
console.log("1899-12-30 " + newtime.format('HH:mm:ss'));
我还将输出格式修改为军事时间,但如果您愿意,可以将其修改为基本上午/下午。