Cly*_*deM 11 javascript date momentjs
我将此日期从api解析为字符串:DD-MM-YYYY但有时日期为DD-M-YYYY甚至DM-YYYY.
例如:
4-1-2013 或 10-10-2013 或7-4-2013
年份始终为4位数,但有时甚至数天或数月.如何手动(使用JS)在每个数字前添加0?
我正在使用moment.js进行一些计算,因此我删除' - '使用
date.replace("-", "")
Run Code Online (Sandbox Code Playgroud)
得到一个整数(例如4-1-2013 = 412013)所以我可以使用它与moment.js,但如果它是一个数字,它都搞砸了.
Aln*_*tak 18
您可以像这样首先规范化字符串:
date = date.replace(/\b(\d{1})\b/g, '0$1');
Run Code Online (Sandbox Code Playgroud)
这将取任何只是一位数的"单词"并且前置零.
请注意,要全局替换每个-
必须使用regexp版本.replace
- 您使用的字符串版本仅替换第一次出现,因此:
date = date.replace(/\b(\d{1})\b/g, '0$1').replace(/-/g, '');
Run Code Online (Sandbox Code Playgroud)
将做你需要的一切.
Moment.js支持带破折号的格式,因此您甚至不需要进行任何字符串处理.
moment('4-1-2013', 'MM-DD-YYYY').format("MMDDYYYY"); // 04012013
moment('10-10-2013', 'MM-DD-YYYY').format("MMDDYYYY"); // 10102013
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7700 次 |
最近记录: |