js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)

js实现日历可获得指定日期周数及星期几示例分享(js获取星期几),第1张

应为要有交互,选择了Js来实现,也算是

结对编程

的初试吧。

我将显示部分用html

写好,点击的按钮触发事件函数是check();

复制代码

代码如下:

function

onCheck(){

var

Year

=

documentgetElementById("year")value;

//获取文本框的“年”

var

theYear

=Year

1;

//转换为number类型

//alert(theYear);

//

获取月值

var

month

=

documentgetElementById("month");

var

index1=monthselectedIndex;

var

theMonth

=

monthoptions[index1]value;

//获取月值

var

day

=

documentgetElementById("day");

var

index2=dayselectedIndex;

var

theDay

=

dayoptions[index2]value;

//

输入值判断部分

//调用核心函数

days(theYear,theMonth,theDay);

}

没有这个api。只能自己写:

获取该年份,判断闰年平年

判定该年1月1日是周几,并记录

按照月份以及日期进行日期的排列

创建二维数组,第一层存储周数,第二层存储具体日期

for循环,对数组写入数据

完成

这样就可以完成一个简单的周数存储。当然也可以用对象的形式,创建更多的对象检索属性,优化周数检索速度

在 delphi 的 DateUtils 单元文件里,提供了一系列的日期函数,根据指定日期获取是星期几的函数,可以使用 DayOfTheWeek,其函数原型定义如下:

●function DayOfTheWeek(const Avalue: TDateTime): Word; 

描述:

对于给定的TDateTime类型的日期时间,使用 DayOfTheWeek 函数能得到该日期是该星期的 第几天。DayOfTheWeek 函数的返回数值为 1 到 7,其中 1 表示星期一,而 7 表示星期日。 

注意:DayOfTheWeek 是 ISO 8601 标准的(此标准为 星期一是一周的第一天)。对于一周 

的第一天是星期日的标准,如果想获得星期数,请使用 DayOfWeek 函数。

示例代码(获取今天是星期几):

  ShowMessage(IntToStr(DayOfTheWeek(Now)));

<!DOCTYPE HTML>

<html>

<head>

    <meta charset=UTF-8>

    <title>YuGiOh</title>

    <script type="text/javascript">

        var yugi = function(year, index) {

            var d = new Date(year, 0, 1);

            while (dgetDay() != 1) {

                dsetDate(dgetDate() + 1);

            }

            var to = new Date(year + 1, 0, 1);

            var i = 1;

            var arr = [];

            for (var from = d; from < to;) {

                if (i == index) {

                    arrpush(fromgetFullYear() + "年" + (fromgetMonth() + 1) + "月" + fromgetDate() + "日");

                }

                var j = 6;

                while (j > 0) {

                    fromsetDate(fromgetDate() + 1);

                    if (i == index) {

                        arrpush(fromgetFullYear() + "年" + (fromgetMonth() + 1) + "月" + fromgetDate() + "日");

                    }

                    j--;

                }

                if (i == index) {

                    return arr;

                }

                fromsetDate(fromgetDate() + 1);

                i++;

            }

        }

        var arr = yugi(2015, 52);

        consolelog(arr);

    </script>

</head>

<body></body>

</html>

你说需要计算一个月有多少周,若是指,一月,二月一直到十二月每个月有多少周的话,可以用Java8的新时间API进行计算,因为里面已经封装了每个月了,但由于每一年每个月的周数可能不同,所以必须还需要一个日期,也就是年,因此得到某年某月的某个时间,就可以相应算出这个时间所在月的第一天和最后一天,然后计算这第一天和最后一天相隔多少个周

思路:

获取所有月份的枚举集合A

随意获取一个时间B

循环所有的月份A,把B的月份依次修改为A中的每个月份,得到修改后的时间集合C

循环C中的所有时间,把每个时间都算出该时间的所在月份的第一天和最后一天,并计算周数

打印周数

代码:

// 随意取一个时间,取了当前时间

LocalDate localDate = LocalDatenow();

Systemoutprintln("当前时间为:" + localDate);

// 根据封装好的月份获取一个一月到十二月的Month流,此时流里的对象为Month

Arraysstream(Monthvalues())

      // 把每个month都调整到当前这个时间里,此时流的对象为LocalDate

      map(month -> monthadjustInto(localDate))

      // 这里方便里观察此时流的数据,把转换后的时间打印了出来

      peek(Systemout::println)

      // 根据时间的所在月的第一天和最后一天作为间隔计算周数

      map(temporal -> ChronoUnitWEEKSbetween(temporalwith(TemporalAdjustersfirstDayOfMonth()), temporalwith(TemporalAdjusterslastDayOfMonth())))

      // 打印最后的周数

      forEach(Systemout::println);

使用Date对象可以获取时间相关的信息。

获取当前时间:

var date = new Date();

var year = dategetFullYear();

var month = dategetMonth() + 1;

var day = dategetDate();

var hour = dategetHours();

var minute = dategetMinutes();

var second = dategetSeconds();

alert(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);

获取一星期前的时间:

var now = new Date();

var date = new Date(nowgetTime() - 7 24 3600 1000);

var year = dategetFullYear();

var month = dategetMonth() + 1;

var day = dategetDate();

var hour = dategetHours();

var minute = dategetMinutes();

var second = dategetSeconds();

alert(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);

以上就是关于js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)全部的内容,包括:js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)、js怎么获取每月的各周是本年的各第几周、delphi有没有直接获取当前星期几的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10056118.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存