有什么方法可以从 Javascript 中的 UTC 时间中提取时间字符串
Is there any way to Extract time string from UTC time in Javascript
我有一个 UTC 日期,即 Sat, 19 Jan 2019 05:40:07 GMT
。我想从给定日期提取时间字符串,即 05:40:07
。到目前为止,我尝试过的所有方法都是获得 timestamp
。所以,我自己写了下面的代码来提取时间
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toISOString().split("T")[1].split(".")[0]);
即先将日期转换成ISO格式再拆分
有没有其他方法可以在不将其转换为任何其他格式的情况下获得它,因为如果没有直接的过程来获取它,我的方法是正确的?
toLocaleTimeString()
怎么样?
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toLocaleTimeString('en-US', {timeZone: 'UTC', hour12: false}));
如果你想完全避免 Date
对象,你可以只解析字符串:
var date = 'Sat, 19 Jan 2019 05:40:07 GMT'
var timeRegex = /(\d\d):(\d\d):(\d\d)/
console.log(timeRegex.exec(date)[0])
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
var result=date.getUTCHours()+':'+date.getUTCMinutes()+':'+date.getUTCSeconds();
所以,我找不到比我的方法更有吸引力的方法了:)
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toISOString().split("T")[1].split(".")[0]);
我不知道 – JSON 另一种格式适合您吗?如果没有,那么您可以按如下方式进行:
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toJSON().split("T")[1].split(".")[0]);
//or even shorter:
console.log(date.toJSON().slice(-13, -5));
这比你的方法短一点。
在其他情况下你可以这样做:
var dateStr = 'Sat, 19 Jan 2019 05:40:07 GMT';
var date = new Date(dateStr);
console.log(dateStr.slice(-12, -4));
我有一个 UTC 日期,即 Sat, 19 Jan 2019 05:40:07 GMT
。我想从给定日期提取时间字符串,即 05:40:07
。到目前为止,我尝试过的所有方法都是获得 timestamp
。所以,我自己写了下面的代码来提取时间
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toISOString().split("T")[1].split(".")[0]);
即先将日期转换成ISO格式再拆分
有没有其他方法可以在不将其转换为任何其他格式的情况下获得它,因为如果没有直接的过程来获取它,我的方法是正确的?
toLocaleTimeString()
怎么样?
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toLocaleTimeString('en-US', {timeZone: 'UTC', hour12: false}));
如果你想完全避免 Date
对象,你可以只解析字符串:
var date = 'Sat, 19 Jan 2019 05:40:07 GMT'
var timeRegex = /(\d\d):(\d\d):(\d\d)/
console.log(timeRegex.exec(date)[0])
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
var result=date.getUTCHours()+':'+date.getUTCMinutes()+':'+date.getUTCSeconds();
所以,我找不到比我的方法更有吸引力的方法了:)
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toISOString().split("T")[1].split(".")[0]);
我不知道 – JSON 另一种格式适合您吗?如果没有,那么您可以按如下方式进行:
var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
console.log(date.toJSON().split("T")[1].split(".")[0]);
//or even shorter:
console.log(date.toJSON().slice(-13, -5));
这比你的方法短一点。
在其他情况下你可以这样做:
var dateStr = 'Sat, 19 Jan 2019 05:40:07 GMT';
var date = new Date(dateStr);
console.log(dateStr.slice(-12, -4));