📜  用JavaScript计算当前星期数

📅  最后修改于: 2020-10-27 01:01:50             🧑  作者: Mango

用JavaScript计算当前星期数

有时我们需要计算当前星期数或给定日期的星期数。使用JavaScript编程语言可以解决此问题。 JavaScript提供了几种日期函数,例如getDays(),getMonth(),getTime(),以解决与日期有关的任务。除此之外,数学函数Math.floor()和Math.ceil()还可帮助计算周数。

情况

在这种方法中,我们将为一周的每一天分配一个数字,例如1代表星期日,2代表星期一,3代表星期二,依此类推。同样,我们会将数字分配给一周中的其他日期。请注意,工作日从星期日开始,到星期六结束。

假设今天是星期一,星期数是1。因此,如果我们在25天后计算星期数,则星期数将是4。

根据周数计算:

25 days = 7 + 7 + 7 + 4 days

下面提到的以下公式用于计算p天后的星期数:

Week Number = least integer [ p / 7 ]

我们可以在JavaScript示例中使用此概念来计算星期数。我们将通过两种方式计算周数:

  • 计算当前日期的星期数
  • 计算预定义日期的星期数

我们将通过示例详细讨论这两种方法。除此之外,我们将通过使用动态HTML表单从用户获取日期输入来动态计算工作日。

  • 通过输入日期输入动态HTML格式来计算周数

方法1:计算当前日期的星期数

通过这种方法,我们将找到当前日期的星期数,这意味着该日期将从系统中获取。这是一种计算周数的静态方法。按照每个步骤计算工作日:

  • 在JavaScript中定义日期变量todaydateoneJan
  • 通过使用new Date()创建日期对象来初始化todaydate变量,默认情况下它将采用系统日期。
  • 通过使用新的Date()创建日期对象来初始化另一个变量oneJan,但这一次是在其内部使用getFullYear()方法。
  • getFullYear()函数将返回当前日期的年份以及该年的第一个日期,例如2020年1月1日。
  • 获取当前日期和年份之后,现在使用Math.floor()方法计算天数。因此,计算当前日期与当前年份日期之间的差,并将其除以一天中的总毫秒数(1000 * 60 * 60 * 24)。
  • 现在,将1和先前结果中计算出的numberofdays加到当前日期的那一天,然后将它们除以7,即(this.getDay()+1 + numberofdays)/7。别忘了将步骤6的整个计算结果在Math.ceil()方法内部。
  • 最后,使用document.write()在网络上显示计算出的工作日。

现在,我们将把这些步骤转换为实际的实现。请参见下面的代码:

复制代码



      Calculate week number of current date


     


输出量

Week number of current date (Tue Sep 29 2020 15:32:19 GMT+0530 (India Standard Time)) is: 
40 

屏幕截图

方法2:计算预定义日期的星期数

通过在代码中提供日期,该方法将有助于计算星期数。请按照以下步骤操作:

  • 在JavaScript中定义日期变量,即date1
  • 通过使用new Date()创建日期对象来初始化它,并在其中提供日期。
  • 定义日期后,使用date2.getTime()-date1.getTime();通过从另一个日期减去一个日期来计算它们之间的时间差
  • 现在,下一步是计算日期之间的天数。因此,我们将两个日期的时差除以一天中的毫秒数,即1000 * 60 * 60 * 24
  • 最后,print使用document.write()方法计算的结果。

现在,我们将把这些步骤转换为实际的实现。请参见下面的代码:

复制代码



      Calculate week number of predefined date


     


输出量

Week number of date Wed Nov 27 2019 00:00:00 GMT+0530 (India Standard Time):
48 

屏幕截图

通过使用HTML表单输入日期来计算周数

通过这种方法,我们将通过使用动态HTML表单提供日期来查找星期数。用户可以从日历中选择日期,然后以HTML形式输入到输入字段。这是一种用于计算周数的动态方式,用户可以通过它自己在网上提供输入,而不是由程序员在代码中提供输入的日期。

请参见下面的代码:

复制代码

 
 
     Calculate week number by user input  
        
  
 
  
    

Javatpoint: Calculate Week Number using user input

Enter date  

屏幕截图

请看下面的屏幕截图,其中HTML表单具有一个Calendar类型的输入字段,一个提交按钮用于执行所有计算,还有一个字段用于显示计算结果。