【问题标题】:YYYY-MM-DDTHH:mm:ss±hh:mm to YYYYMMDDHHmms [duplicate]YYYY-MM-DDTHH:mm:ss±hh:mm 到 YYYYMMDDHHmms [重复]
【发布时间】:2020-06-11 08:55:06
【问题描述】:

使用正则表达式或任何其他方式将YYYY-MM-DDTHH:mm:ss±hh:mm(string) 转换为YYYYMMDDHHmmss(string) 的最佳方法是什么?

例如:2020-02-27T01:23:44-05:3020200227012344

有人可以帮我吗?

【问题讨论】:

  • 这可能对你有帮助:javascript.info/regexp-groups#nested-groups
  • var moment = require("moment"); var 输入 = "2020-02-27T01:23:44-05:30"; var convert = moment(input).format("YYYYMMDDHHmmss"); console.log(converted);
  • 是的,这行得通:)

标签: javascript regex typescript momentjs regex-greedy


【解决方案1】:

你可以试试这个正则表达式

(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\+(\d{2}):(\d{2})

【讨论】:

    【解决方案2】:

    对我来说最快的方式。依赖于输入字符串的恒定大小。

    const input = "2020-02-27T01:23:44-05:30"
    const input2 = "2020-02-27T01:23:44+05:30"
    
    const testOutput ="20200227012344"
    
    const transformTime = time => time
         .split('-')
         .join('')
         .split('+')
         .join('')
         .split(':')
         .join('')
         .split('T')
         .join('')
         .substring(0, 14)
    
    console.log(transformTime(input) === testOutput)
    console.log(transformTime(input2) === testOutput)

    【讨论】:

    • 第一次拆分,不确定是-还是+。所以我们不能直接这样走。
    • 也就此分开。我已经更新了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多