最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何比较两种不同格式的javascript中的日期?

SEO心得admin109浏览0评论
本文介绍了如何比较两种不同格式的javascript中的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

函数mainFunc(){ dueDate = 30/12/2014; var firstReminderDate = dueDate;今天 var = new Date(); var firstDate = convertToDate(firstReminderDate); if(今天> firstDate){ //将提醒发送给A }否则{ //发送提醒给B } } 函数convertToDate(dateString){ var dateData = dateString.split( /); var date = new Date(new Date()。setFullYear(dateData [0],dateData [1]-1,dateData [2])); 返回新的Date(date); }

我需要比较两个日期而不是时间,以及如何删除时间部分,只是比较日期? convertToDate()每次都返回 Thu Jan 01 05:30:00 GMT + 05:30 1970吗?

解决方案

您可以简化代码。要从 dd / mm / yyyy 获取日期,只需在 / 上分割,然后反转结果并将其加入' /'为您提供 yyyy / mm / dd ,对于新的日期与其他日期。参见摘要

var report = document.querySelector('#result'); report.innerHTML + = '30 / 12/2014 => ‘+ mainFunc(’30 / 12/2014’); report.innerHTML + =’< br> 2014年1月12日=> ‘+ mainFunc(’2014年1月1日’);函数mainFunc(due){到期=到期? convertToDate(due):新日期;返回新的日期>到期?到期+'已通过:< b>发送提醒给A< / b>':到期+'未通过:< b>发送提醒给B< / b>';} function convertToDate(dateString){返回新的Date( dateString.split( /)。reverse()。join('/'));}

< div id = result>< / div>

function mainFunc() { dueDate = "30/12/2014"; var firstReminderDate = dueDate; var today = new Date(); var firstDate = convertToDate(firstReminderDate); if (today > firstDate) { //send reminder to A } else { // send reminder to B } } function convertToDate(dateString) { var dateData = dateString.split("/"); var date = new Date(new Date().setFullYear(dateData[0], dateData[1] - 1, dateData[2])); return new Date(date); }

I need to compare two dates not the time, and how to remove the time part and just compare the dates? The convertToDate() is returning the "Thu Jan 01 05:30:00 GMT+05:30 1970" everytime?

解决方案

You can simplify your code. To get a date from dd/mm/yyyy, simply splitting on /, reversing the result and joining it on '/' gives you yyyy/mm/dd, which is valid input for a new Date to compare to some other Date. See snippet

var report = document.querySelector('#result'); report.innerHTML += '30/12/2014 => '+ mainFunc('30/12/2014'); report.innerHTML += '<br>01/12/2014 => '+ mainFunc('01/01/2014'); function mainFunc(due) { due = due ? convertToDate(due) : new Date; return new Date > due ? due +' passed: <b>send reminder to A</b>' : due +' not passed: <b>send reminder to B</b>'; } function convertToDate(dateString) { return new Date(dateString.split("/").reverse().join('/')); }

<div id="result"></div>

发布评论

评论列表(0)

  1. 暂无评论