我有一个包含8个数字的字符串,代表一个日期。例如:
20120515
我想将它与今天的日期进行比较,以这种方式创建:
var currentDate = new Date();
如何将“8位数日期字符串”转换为合适的日期格式,以便将其与currentDate进行比较?
答案 0 :(得分:38)
使用子字符串方法和子字符串关闭4个元素并将其分配给年份的新日期。然后一次子串掉两个元素,并相应地存储月份和日期。
var dateString = "20120515";
var year = dateString.substring(0,4);
var month = dateString.substring(4,6);
var day = dateString.substring(6,8);
var date = new Date(year, month-1, day);
var currentDate = new Date();
现在,您可以将两个日期与普通运算符进行比较。
答案 1 :(得分:18)
如果您想要一个小型日期库,可以使用moment.js。
var a = moment("20120515", "YYYYMMDD");
// then use any of moment's manipulation or display functionality
a.format("MMM Do YYYY"); // May 15th 2012
a.fromNow(); // 14 hours ago
a.calendar(); // Today at 12:00 AM