use*_*816 64 javascript momentjs
可能很容易回答这个但我似乎无法找到一种方法让moment.js以毫秒为单位返回UTC日期时间.这是我在做的事情:
var date = $("#txt-date").val(),
expires = moment.utc(date);
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
Mat*_*int 82
这可以在文档中找到.有了类似于时刻的图书馆,我恳请您阅读完整的文档.这非常重要.
假设输入文本是根据用户的本地时间输入的:
var expires = moment(date).valueOf();
Run Code Online (Sandbox Code Playgroud)
如果指示用户实际输入UTC日期/时间,则:
var expires = moment.utc(date).valueOf();
Run Code Online (Sandbox Code Playgroud)
Bru*_*sma 35
我使用这种方法并且有效.ValueOf对我不起作用.
moment.utc(yourDate).format()
Run Code Online (Sandbox Code Playgroud)
作为 : moment.js version 2.24.0
假设您有本地日期输入,这是将dateTime或Time输入转换为UTC 的正确方法 :
var utcStart = new moment("09:00", "HH:mm").utc();
Run Code Online (Sandbox Code Playgroud)
或指定日期
var utcStart = new moment("2019-06-24T09:00", "YYYY-MM-DDTHH:mm").utc();
Run Code Online (Sandbox Code Playgroud)
如您所见,结果输出将以UTC返回:
//You can call the format() that will return your UTC date in a string
utcStart.format();
//Result : 2019-06-24T13:00:00
Run Code Online (Sandbox Code Playgroud)
但是,如果您执行以下操作,它将不会转换为UTC:
var myTime = new moment.utc("09:00", "HH:mm");
Run Code Online (Sandbox Code Playgroud)
您仅将输入设置为utc时间,就好像您提到myTime是UTC一样,....输出将是9:00
这将是答案:
moment.utc(moment(localdate)).format()
Run Code Online (Sandbox Code Playgroud)
localdate = '2020-01-01 12:00:00'
moment(localdate)
//Moment<2020-01-01T12:00:00+08:00>
moment.utc(moment(localdate)).format()
//2020-01-01T04:00:00Z
Run Code Online (Sandbox Code Playgroud)