[英]How to revert date DD/MM/YYYY to YYYY-MM-DD?
如何使用正则表达式将日期格式时间从DD/MM/YYYY
为YYYY-MM-DD
?
您可以使用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
表示正则表达式(前面提到的那个)后跟连字符(-
)的顺序,这就是您所期望的。
问候:)
这很简单:
yourString.split('/').reverse().join('-')
split
部分将按照数字首次出现的顺序创建一个数组。
reverse
会改变顺序,在你的情况下,从day
, month
, year
到year
, month
, day
join
将使用'-'
分隔符将数组转换为字符串。
尝试拆分/
字符上的字符串并以正确的格式重新组合它:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.