首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Safari和IE的无效日期固定,但不具有负UTC

Safari和IE的无效日期固定,但不具有负UTC
EN

Stack Overflow用户
提问于 2022-11-07 21:00:46
回答 2查看 45关注 0票数 2

对于Safari和IE中的日期问题,我看到了很多答案,使用replace(/-/g, "/")对这些情况很有吸引力-- 2022-11-30 17:00 UTC+0200,但是当我有其他的时区时-- 2022-11-28 21:56 UTC-0500 --它会再次为任何浏览器创建无效的日期。

因此,我正在寻找一种解决方案,它将取代"-“而不是全球范围的,但最终只能在第一个单词中。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-07 21:06:40

那又如何呢?

代码语言:javascript
复制
const date = `2022-11-30 17:00 UTC-0200`
const regex = /(\d+)-(\d+)-(\d+)/g
const result = date.replace(regex, '$1/$2/$3')
console.log(result)

票数 2
EN

Stack Overflow用户

发布于 2022-11-07 21:17:24

您可以选择在捕获UTC之前捕获-,如果捕获,则将整个匹配放回原处,否则,将-替换为/

代码语言:javascript
复制
const text = "2022-11-28 21:56 UTC-0500";
console.log( text.replace(/(UTC)?-/g, (x,y) => y ? x : "/") )

这里,

  • (UTC)?- -匹配并捕获组1中的可选UTC,然后匹配- char
  • (x,y) => y ? x : "/"如果y (组1)匹配,则返回x (整个匹配),否则,将/替换为-.

掉头版本:

代码语言:javascript
复制
const text = "2022-11-28 21:56 UTC-0500";
console.log( text.replace(/(?<!UTC)-/g, "/") )
// => 2022/11/28 21:56 UTC-0500

(?<!UTC)-匹配没有紧接在UTC前面的-

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74352872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档