删除日期字符串中的空格

Ste*_*veV 2 javascript jquery

我从数据库中得到一个日期有时候会有空格的日期(因为我没有控制权,所以无法清理数据库).我需要删除空格,以便我可以将其格式化为Javascrpt日期.

例如:

5 : 03 PM 
Run Code Online (Sandbox Code Playgroud)

如您所见,这是不正确的.我已经看过Moment.js和Regex来删除冒号周围的空格,但不确定这是怎么做的,或者这是不是正确的方法.有没有办法删除这个空间?

谢谢大家!

bur*_*ete 6

只删除冒号周围的空格,尝试以下操作:(其中$1指第一个捕获组,即唯一的捕获组(:))

a.replace(/\s*(:)\s*/, "$1");

或者如果你想进一步简化它,没有任何捕获组;

a.replace(/\s*:\s*/, ":");

  • 为什么保存结肠的参考?它永远不会改变.只是硬编码.无需执行额外插值.`replace(/\s*:\ s*/,':')` (2认同)

twe*_*rnt 5

如果您愿意,您实际上可以使用 Moment.js 解析该日期字符串,您只需要在格式化字符串中包含空格:

var time = moment('5 : 03 PM', 'h : m A');
Run Code Online (Sandbox Code Playgroud)

然后你可以随意格式化它:

time.format('h:mmA'); // "5:30PM"
time.format('hh:mm A'); // "05:03 PM"
time.format('HH:mm'); // "17:03" 
Run Code Online (Sandbox Code Playgroud)