如何将日期格式时间DD/MM/YYYY
还原为JavaScript格式YYYY-MM-DD
?
答案 0 :(得分:6)
您可以使用regex
和replace()
方法轻松获得结果。
Regex
在这些情况下非常有用。
var yourString = "16/05/2017";
var desired = yourString.replace(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/, "$3-$2-$1");
上述模式的说明
在上面regex
;
\d
- 匹配一个数字(等于[0-9])
{1, 2}
- 检查1或2次[因为日期和月份可以是1位数(例如1)或2位数字(例如01)]
{4}
- 检查了4次(您可以相应地更改)的开头断言位置
^
- 在字符串
$
- 在字符串末尾断言位置,或在字符串末尾的行终止符之前断言(如果有的话)在第二个(替换)字符串中,
$3
,$2
或$1
表示正则表达式(前面提到的那个)的顺序,后跟连字符(-
)这就是你所期待的。
问候:)
答案 1 :(得分:3)
这很简单:
yourString.split('/').reverse().join('-')
split
部分将按照首次出现的顺序生成一个数组。
reverse
会将您的订单从day
,month
,year
更改为year
,month
,{{ 1}}
day
会使用join
分隔符将数组转换为字符串。
答案 2 :(得分:0)
尝试在/
字符上拆分字符串,然后以正确的格式重新组合:
var dateString = '16/05/2017'; // to format "2017-05-16"
var nums = dateString.split('/');
var newDateString = `${nums[2]}-${nums[1]}-${nums[0]}`
console.log(newDateString)