如何将DateTime字符串格式转换为其他DateTime?

时间:2019-05-16 16:46:18

标签: javascript 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()(日期时间的类型),而不是像我的自定义字符串

1 个答案:

答案 0 :(得分:4)

您只需要将该strin转换为date对象,然后取出所需的值并将其格式化在一起即可。

注意:由于您使用的是格林尼治标准时间,因此您需要调用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);对象(而不是纯字符串)就可以了。

var userSchema = new Schema({
   username: String,
  location: {type: mongoose.Schema.Types.ObjectId, ref: 'Location' },
});

var locationSchema = new Schema({
  name: {type:String,required: true },
  country: type: String,
});