Javascript 比较日、月和年
下午好,在我的时区 我想比较两个日期,一个由用户插入,另一个是当前日期。代码片段:Javascript 比较日、月和年,javascript,date,comparison,Javascript,Date,Comparison,下午好,在我的时区 我想比较两个日期,一个由用户插入,另一个是当前日期。代码片段: var dateString = "2012-01-03" var date = new Date(dateString); date < new Date() ? true : false; var dateString=“2012-01-03” 变量日期=新日期(日期字符串); 日期
var dateString = "2012-01-03"
var date = new Date(dateString);
date < new Date() ? true : false;
var dateString=“2012-01-03”
变量日期=新日期(日期字符串);
日期<新日期()?真:假;
这返回真值,我认为在引擎盖下,两个日期对象都被转换为毫秒,然后进行比较,如果是这样,“今天”对象会因为小时和分钟而变大。所以我想做的是只按天、月和年比较日期。最好的方法是什么?创建一个新的日期对象,然后在比较之前将小时分钟和毫秒重置为零?或者从两个日期对象中提取月和年的日期并进行比较?有没有更好的办法
提前谢谢
致以最良好的问候。
新年快乐设定你的工作时间
由于它是yyyy-mm-dd格式,您只需从日期对象构建当前yyyy-mm-dd,并执行常规字符串比较:
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = currentDate.getMonth()+1;
if (month < 10) month = "0" + month;
var day = currentDate.getDate();
if (day < 10) day = "0" + day;
currentDate = year + "-" + month + "-" + day;
var dateString = "2012-01-03"
var compareDates = dateString < currentDate ? true : false;
document.write(compareDates);
var currentDate=新日期();
var year=currentDate.getFullYear();
var month=currentDate.getMonth()+1;
如果(月<10)月=“0”+月;
var day=currentDate.getDate();
如果(天<10)天=“0”+天;
当前日期=年+月+日;
var dateString=“2012-01-03”
var compareDates=日期字符串<当前日期?真:假;
文件。编写(比较);
基于公认答案顶部的生产准备示例
有关日期转换的更多信息,请访问:-Awesome solution
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = currentDate.getMonth()+1;
if (month < 10) month = "0" + month;
var day = currentDate.getDate();
if (day < 10) day = "0" + day;
currentDate = year + "-" + month + "-" + day;
var dateString = "2012-01-03"
var compareDates = dateString < currentDate ? true : false;
document.write(compareDates);