使用substring方法和substring off 4个元素并将其赋值给你的新日期,然后一次将两个元素进行substring off并相应地存储月份和日期。
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();
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
function dateStringToDate(dateString) {
try {
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);
const offset = date.getTimezoneOffset()
date = new Date(date.getTime() - (offset * 60 * 1000));
return date;
} catch (error) {
return null;
}
}
function dateStringToDate(dateString) {
try {
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);
const offset = date.getTimezoneOffset()
date = new Date(date.getTime() - (offset * 60 * 1000));
return date;
} catch (error) {
return null;
}
}
console.log(dateStringToDate("20211212"))
console.log(dateStringToDate("20211213"))
console.log(dateStringToDate("20211214"))
4条答案
按热度按时间v7pvogib1#
使用substring方法和substring off 4个元素并将其赋值给你的新日期,然后一次将两个元素进行substring off并相应地存储月份和日期。
现在,您可以使用正规运算符比较这两个日期。
brccelvz2#
如果你想要一个小的数据库,你可以使用moment.js。
xdnvmnnf3#
要正确处理本地时区,必须将其显式地加到计算时间上
fzwojiic4#
......其他一些“一行程序”方法可实现此目的:
(They取一个类似
dts='20020704';
值并返回日期对象[dt]。)或者...
或者...
最后一个最短,但第一个可能是最有效的,因为它没有使用正则表达式(但这是无关紧要的,除非你用它处理大量的数据)。