Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法从Javascript中的UTC时间提取时间字符串_Javascript_Date_Date Formatting - Fatal编程技术网

有没有办法从Javascript中的UTC时间提取时间字符串

有没有办法从Javascript中的UTC时间提取时间字符串,javascript,date,date-formatting,Javascript,Date,Date Formatting,我有一个UTC日期,即Sat,2019年1月19日05:40:07 GMT。我想从给定日期,即05:40:07提取时间字符串。到目前为止,我尝试的所有方法都是获取时间戳。因此,我已经编写了我自己的以下代码来提取时间 var日期=新日期“2019年1月19日星期六05:40:07 GMT”; console.logdate.toISOString.splitT[1].split[0] toLocaleTimeString怎么样 var日期=新日期“2019年1月19日星期六05:40:07 G

我有一个UTC日期,即Sat,2019年1月19日05:40:07 GMT。我想从给定日期,即05:40:07提取时间字符串。到目前为止,我尝试的所有方法都是获取时间戳。因此,我已经编写了我自己的以下代码来提取时间

var日期=新日期“2019年1月19日星期六05:40:07 GMT”; console.logdate.toISOString.splitT[1].split[0] toLocaleTimeString怎么样

var日期=新日期“2019年1月19日星期六05:40:07 GMT”;
console.logdate.toLocaleTimeString'en-US',{时区:'UTC',hour12:false} 所以,我找不到比我更吸引人的方法:

var日期=新日期“2019年1月19日星期六05:40:07 GMT”;
console.logdate.toISOString.splitT[1].split[0] 我不知道–JSON是您的另一种格式吗?如果没有,则可以按如下方式执行:

var日期=新日期“2019年1月19日星期六05:40:07 GMT”; console.logdate.toJSON.split[1].split[0]; //甚至更短:
console.logdate.toJSON.slice-13,-5;你的代码运行得很好,你为什么要寻找替代方案?是的,我知道它运行得很好。但是很奇怪,你看,我已经有UTC格式的时间了,但我仍在将其转换为ISO,然后得到我想要的。有没有直接的方法从UTC获取时间从日期对象中直接获取时间你必须1提取字符串,然后在进行操作时对其进行操作,或者2使用日期方法提取所需的数字。但是IMO,你现在的方法要好得多,代码少,容易理解,虽然你可以考虑使用正则表达式,而不是多个分裂,不知道它是否有帮助,但是这里写了一段代码,你可以看一下好的@CertainPerformance然后我用我的方法回答这个问题并结束它…谢谢你的帮助:啊,我明白了。我添加了一个避免Date类的正则表达式。虽然我认为使用日期是更好的选择。虽然我认为使用日期是更好的选择。为什么?这意味着使用古怪的内置解析器解析字符串以创建日期,然后使用toLocaleString和时区选项可能会返回原始时间字符串。因为有一天,有人会要求非UTC时间或其他相关要求,在这种情况下,通用日期答案很有用。但无论如何,我也提供了一个regex解决方案,如果只需要UTC日期,我相信它回答了最初的问题。比你的方法短一点-@我的问题不是找到最短的方法。。。我想要一个直接的解决方案,在这个解决方案中,我不需要将它转换成其他形式,然后提取它:不管怎样,现在你可以使用我的方法,因为它比较短-关于我的新代码,你想说些什么?看我的答案。尽管如此,我还是会用我的答案:P谢谢你的帮助!:
   var date = new Date('Sat, 19 Jan 2019 05:40:07 GMT');
   var result=date.getUTCHours()+':'+date.getUTCMinutes()+':'+date.getUTCSeconds();