【问题标题】:convert date string into the actual date format?将日期字符串转换为实际的日期格式?
【发布时间】:2021-07-10 10:39:33
【问题描述】:

我调用了一个 API,然后得到了一个字符串格式的日期,例如 '15/07/21-23:59:59'。但我想将此字符串转换为实际的日期格式,如下所示:

**15/07/21** OR **2009-06-01T10:00:00.000**. 

那么我该如何实现呢?

【问题讨论】:

  • 已经有很多关于parsingformatting 日期字符串的问题。你试过什么? '15/07/21-23:59:59'.substring(0,8) 将用于第一个示例。
  • 你可以试试new Date(...('15/07/21-23:59:59'.split(/\W/).slice(0,3).reverse().reduce((acc, v, i) => {acc.push(i==0? '20'+v : i==1? --v : v); return acc;}, []))).toLocaleDateString('en-CA'),它给出了 2021-07-05。

标签: javascript reactjs datetime momentjs


【解决方案1】:

看到返回格式化日期表达式的响应很奇怪。顺便说一句,使用momentjs 可以轻松完成您的任务。这是我的sn-p:

// since your date format is not a standard one, you would have to pass an
// instruction of your date format as a second parameter to the moment constructor
const momentDate = moment('15/07/21-23:59:59', 'DD/MM/YY-HH:mm:ss');

momentDate.format('DD/MM/YYYY'); // => "15/07/2021"
momentDate.format(`yyyy-MM-dd'T'HH:mm:ss.SSSZ`); // => "2021-07-Th'T'23:59:59.000+07:00"

【讨论】:

    【解决方案2】:

    您可以将此字符串传递给 Date 对象,如下所示:

    var date = new Date(YOUR STRING); 
    

    如果它不起作用,你可以使用 Date.parse() 方法:

    Date.parse('04 Dec 1995 00:12:00 GMT');
    
    猜你喜欢
    • 2014-02-02
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多