
应为要有交互,选择了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有没有直接获取当前星期几的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)