我需要将日期字符串转换为实际日期,我可以用它来比较最早的日期。
我的日期格式为“2010 年 1 月 2 日” 我知道我应该使用某种日期格式,但不知道在使用 javascript 时该怎么做。
这是我得到的代码:
function checkOutboundAndReturnDates(outboundDate, returnDate) {
var outboundDatetime = new Date(outboundDate);
var returnDatetime = new Date(returnDate);
var date = new Date("2017-03-25");
console.log(outboundDate);
console.log(returnDate);
console.log("Converting dates");
console.log(outboundDatetime);
console.log(returnDatetime);
console.log(date);
// String string = "January 2, 2010";
// DateFormat format = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
// Date date = format.parse(string);
}
var date 有效,但这只是为了测试,而不是我想要的。 得到数字中的日期,数字中的年份,但文本中的月份,就像我写的:
"January 2, 2010"
更新
var outboundDateTime = moment(outboundDate, "MMMM DD, YYYY");
var returnDateTime = moment(returnDate, "MMMM DD, YYYY");
console.log(outboundDateTime.format("YYYY-MM-DD"));
console.log(returnDateTime.format("YYYY-MM-DD"));
if (outboundDateTime > returnDateTime) {
console.log("its bigger");
return true;
}
else {
return false;
}
在我的 js 文件之上,我有:
var moment = require('moment');
已通过 npm 安装它。
最佳答案
我会使用moment.js用于在 js 中处理日期。您可以使用这样的时刻来解析日期字符串:
var outboundDateTime = moment(outboundDate, "MMMM DD, YYYY");
并格式化它
console.log(outboundDateTime.format("YYYY-MM-DD"));
或者检查哪一个更早
console.log(outboundDateTime.isBefore(inboundDateTime));
var dateString1 = "January 2, 1999";
var dateString2 = "January 21, 1999";
var format = "MMMM DD, YYYY";
var outboundDateTime = moment(dateString1, format);
var returnDateTime = moment(dateString2, format);
console.log(outboundDateTime.format("YYYY-MM-DD"));
console.log(returnDateTime.format("YYYY-MM-DD"));
if (outboundDateTime.isAfter(returnDateTime)) {
console.log("its bigger");
}
else {
console.log("not");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment-with-locales.min.js"></script>
关于javascript - 在javascript中将字符串日期转换为日期时间,如何使用dateformat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39204789/