0

我必须写一些正则表达式。我做了所有除了以下。我不知道如何仅通过正则表达式添加一些东西。

  • 将此更改  9/28/2005  为  09.28.2005  (我能够用句点替换斜杠,但如何将前导零添加到 9)

  • 更改September 21, 200621. September 2006(可以替换,为,.但如何更改顺序?)

  • 更改5:00 PMi7:00 Uhr   (12 到 24 小时)?

4

2 回答 2

0

第一种情况(用零填充):

result = subject.replace(/\b(\d)(?=[\/.])/ig, "0$1");

第二种情况(变更单):

result = subject.replace(/\b(january|february|march|april|may|june|july|august|september|october|november|december) +(\d{2}), +(\d{2,4})\b/ig, "$2. $1 $3");

第三种情况(12-24 小时)

由于 JavaScript RegEx 引擎不支持If-Then-Else Conditionals. pure RegEx pattern因此,为此目的创建一个既困难又耗时的工作。


希望这可以帮助。

于 2012-06-12T04:29:48.323 回答
0

只需手动进行数学运算...例如,创建一个函数 GetTimeZoneOffset 并从那里开始...

返回 UTC 和本地时间之间的时区差异:

var d = new Date()

var n = d.getTimezoneOffset();

的结果值为n240

添加差异和中提琴你有一个真实的日期,你可以按照你想要的方式格式化..

于 2012-06-12T04:41:39.940 回答