首页 > 解决方案 > 如何将 DateTime 字符串格式转换为其他 DateTime?

问题描述

我有一个字符串:Thu, 16 May 2019 08:45:15 GMT并且我需要将它转换为两个字符串:16/05/201908:45:15.

我尝试了很多方法(我看过 StackOverFlow 的其他帖子),但我没有做到。

我怎么能那样做?

编辑1:

例如,我尝试过以下代码:

console.log(
  new Intl.DateTimeFormat(
    'en-US', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }
  ).format("Thu, 16 May 2019 08:45:15 GMT"))

问题是我看到的所有示例都来自Date.now()(typeof Datetime) 而不是像我这样的自定义字符串

标签: javascriptdatetime

解决方案


您只需要转换该字符串

注意:由于您使用的是 GMT 时间,因此您需要调用.getUTC*函数名称

另请注意,月份是零索引的,因此您需要在其中添加一个。

var d = new Date("Thu, 16 May 2019 08:45:15 GMT");
var dateStr = d.getUTCDate() + '/' + (d.getUTCMonth() + 1) + '/' + d.getUTCFullYear();
var timeStr = d.getUTCHours() + ':' + d.getUTCMinutes() + ':' + d.getUTCSeconds();

console.log(dateStr);
console.log(timeStr);

或者给出您的示例,Intl.DateTimeFormat您可以在new Date()其中添加一个对象(而不是纯字符串),您就可以开始了。

var d = new Date("Thu, 16 May 2019 08:45:15 GMT");

var formatted = Intl.DateTimeFormat(
  'en-US', {
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    hour: '2-digit',
    minute: '2-digit',
    second: '2-digit'
  }).format(d);
  
console.log(formatted);


推荐阅读