JavaScript日期比较:快速和简单
在JavaScript中比较日期是一种快速、简单、简单的操作,只有一两种变体。我们将向您展示如何做到这一点,并稍微讨论一下在JavaScript中使用日期比较可以做些什么。
对JavaScript编程感兴趣?有一些非常好的在线课程这将让你进入快车道到职业生涯软件开发betwayapp下载安装!!
比较日期 - 这是什么
当我们谈论比较日期时,我们的意思是什么?
通常,在比较日期时,您希望知道哪个日期较晚,哪个日期较早。当然,对于人类来说,这是如此简单的任务,你甚至不需要想它,而且在很大程度上,这并不比电脑更难做。
计算机如何完成
但是你需要告诉电脑该做什么,以及如何做到这一点。大多数编程语言(包括JavaScript)将日期与数字进行比较,因此稍后的日期是更大的数字,较早的日期是较小的数字。它们通常可以组合日期和时间,同时处理每个日期+时间组合作为一个数字,所以1832年1月17日上午3:31是在同一日期的下午7:15的数量较小。
日期在JavaScript中
在我们讨论比较日期之前,让我们快速看一下date对象,以及如何在JavaScript中创建日期:
您使用Date()构造函数来创建日期对象。默认情况下(括号之间没有参数),日期对象将设置为当前时间:
var rightnow = new Date();document . write(即时);
它将输出当前日期和时间,像这样:
2014年5月21日21:44:56
设置日期
要将日期对象设置为特定日期,请在Date()构造函数中使用日期作为参数:
var backthen =新日期(1953,11,3);
输出看起来像这样:
1953年太平洋时间12月3日星期四00:00:00
注意,Date()构造函数以1月为0(因此11 = 12月)计算月份,但是年和日匹配标准日历年和日。
不用说,在设置日期和时间方面有许多不同的方法,但是这里显示的示例应该足以让您开始比较日期。
基本日期比较
那么你如何比较日期?看看这段代码:
var rightnow = new Date();var backthen = new Date(1953,11,3);如果(rightnow>backthen) {document. backthen;写(rightnow + " is later than " + backthen + ".");} else{文档。写(“哦,不!时间是逆转!“+当时+”比“+现在+”迟);}
毫不奇怪,结果是(除非你碰巧生活在这个时空的时间反转版本中):
2014年太平洋时间晚于1953年太平洋时间12月3日00:00:00。
它是如何工作的
正如您所见,比较本身非常简单,并且在大多数流动编程语言中最典型的比较非常典型。它只需使用“IF”条件语句,以及基本比较运算符(+,>,以及<):“如果rightnow大于backthen”...
当然,在实践中,您可能会比较日期并没有进行硬编码,而且您可以做一些以外的东西,而不是打印出结果。让我们考虑您可以在JavaScript中将日期比较的一些方式考虑一些方法。
开始和结束
假设在线商店运营促销 - 所有商品从2015年7月1日至2015年7月20日起,所有商品均为折扣,并且您需要编写一个javascript例程,检查当前日期是否在促销期内落在促销期内。
var rightnow = new Date();var startdate =新日期(2015,06,01);var enddate =新日期(2015,06,21);if(rightnow> = startdate){if(rightnow细节很重要
请注意,我们在不包括时间的情况下设置StartDate和Enddate。这将时间设置为默认的时间 - 在问题开始时午夜后大致为毫秒。我们还将Enddate设置为21世纪,以便将包括7月20日的所有内容(以及21毫秒的千分之一,我们不会担心)。当然,请记住,2015,06,01是7月1日,而不是6月1日,因为我们计算了1月份的月份= 0。
年龄检查
你还能用日期比较做什么?考虑学校招生办公室。如果学生资格在没有父母许可的情况下占用课程的最低年龄,您可以将传入的学生的生日与截止出生日期进行比较 - 任何在该日期后出生的学生都太年轻,没有书面许可在没有书面许可的情况下服用课程。
但是,这个日期总是在变化的——它总是在当前日期的18年前。你如何比较即将入学的学生的生日与一个移动的目标?结果是,您可以使用date对象的setFullYear()方法自动将截止日期的年份设置为当前年份减去18,因此每次程序检查学生的生日时,都会将其与正确的截止日期进行比较。
销售记录
如果您需要搜索销售记录以查找某个日期之前、之后或两个日期之间的所有交易,该怎么办?每个搜索的实际日期可能(也可能会)不同,因此您允许用户输入搜索日期,然后对每个记录进行比较。在这种情况下,没有一个日期是硬编码的;销售日期作为销售记录的一部分存储在数据库中,比较日期由用户提供。这是许多现实生活中编写代码进行数据比较的典型情况。
毋庸置疑,javascript中的日期比较有很多用途,并且有很多机会熟练的JavaScript程序员那Web开发人员那信息技术专业人士和人的人先进的计算机技能一般来说。