根据日期知道当天是星期几的手动计算方法

蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。)
算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。
以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:
蔡勒(Zeller)公式:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年国庆)是星期5。

(0)

相关推荐

  • 日历查询的算法 如何计算某一天是星期几

    如何计算某一天是星期几? -- 蔡勒(Zeller)公式 历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式.即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期:c:世纪-1:y:年(两位数):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1月1日要看作2002年的13月1日

  • C# 获取当前星期几三种实现方法

    第一种: 复制代码 代码如下: string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; string week = Day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToStr

  • C#根据年月日计算星期几的函数小例子

    算法如下: 基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7  在公式中d表示日期中的日数,m表示月份数,y表示年数.注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算.代码如下: 复制代码 代码如下: //y-年,m-月,d-日期  string CaculateWeekDay(int y,int m, int d)  {  if(

  • 获取星期几的名称

    udf_WeekDayName 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_WeekDayName] ( ) RETURNS @WeekDayName TABLE([Id] INT,[WeekDayName] NVARCHAR(15)) AS BEGIN INSERT INTO @WeekDayName ([Id],[WeekDayName]) VALUES (0,'Saturday'),(1,'Sunday'),(2,'Monday'),(3,'Tuesday'

  • 根据日期知道当天是星期几的手动计算方法

    蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期:c:世纪-1:y:年(两位数):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1月1日要看作2002年的13月1日来计算):d:日:[ ]代表取整,即只要整数部分.(C是世纪数减一,y是年份后两位,M是月份,d是日数.1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值.) 算出来的W

  • Python实现根据日期获取当天凌晨时间戳的方法示例

    本文实例讲述了Python实现根据日期获取当天凌晨时间戳的方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2 ''' Created on 2019年4月9日 @author: Administrator ''' import datetime import time def get_day_zero_time(date): """根据日期获取当天凌晨时间""" if not date: r

  • js获取指定日期周数以及星期几的小例子

    JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 代码如下: function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化时间 Year= day.getFullYear();// ie火狐下都可以 Month= day.getMonth()+

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

    应为要有交互,选择了Js来实现,也算是 结对编程 的初试吧. 我将显示部分用html 写好,点击的按钮触发事件函数是check(): 复制代码 代码如下: function onCheck(){ var Year = document.getElementById("year").value; //获取文本框的"年" var theYear =Year * 1; //转换为number类型 //alert(theYear); // 获取月值 var month =

  • Shell根据日期、月份、星期判断年份的代码

    已知三个时间变量: time1="Fri Aug 23 11:35:21" time2="Mon Sep 2 16:18:09" time3="Tue Sep 3 16:06:33" 已知这三个时间可以确定是发生在2011-2013年,如何快速确定是哪一年呢? 希望输出: time1="2013/8/23 11:35:21" time2="2013/9/2 16:18:09" time3="201

  • python根据日期返回星期几的方法

    本文实例讲述了python根据日期返回星期几的方法.分享给大家供大家参考.具体如下: 这个函数给定日期,输出星期几,至于0是星期一还是星期天,这和时区有关,反正我这里是0表示星期一 import time,datetime def get_week_day(date): week_day_dict = { 0 : '星期一', 1 : '星期二', 2 : '星期三', 3 : '星期四', 4 : '星期五', 5 : '星期六', 6 : '星期天', } day = date.weekda

  • vue 根据选择的月份动态展示日期对应的星期几

    我等卑微的码农,依旧还得唱着"你我皆凡人,生在人世间,终日奔波苦,一刻不得闲,既然不是仙,难免有杂念,烦恼放两旁,工资摆中间,多少男子汉,秃顶又肥胖,加班的日夜,没有买保险". 虽一直反抗,却从未奏效.大老板们是梦想照进现实,我等是梦想撞见黑锅! 牢骚了那么多,锅还得背,班还得加,code还得继续码!!! 来,把标题中所提到的这个效果给实现一下吧. 原理其实很简单,先得有一个选择年月的输入框吧,这里我用的是Element的DatePicker日期选择器组件,具体使用方法不多说,自己去看

  • 利用Java计算某个日期是星期几

    话不多说,下面来直接看示例代码 具体代码: DayOfWeek4Birthday.java package com.gua; import java.util.Calendar; import java.util.GregorianCalendar; import java.io.*; import static java.lang.System.out; /** * Created by 2gua on 2014/9/27. * DayOfWeek4Birthday:看看你查询的具体日子是星期

  • 教你用python从日期中获取年、月、日和星期等30种信息

    目录 1 计算日期的年月日时分秒,星期,周次… 2计算一年中的第几天, 第几个10分钟, 日期转数值 3判断日期是否闰年,年初年末,月初月末… 4字符串时段,季节 5for循环快捷计算 6时间间隔天数计算 补充:Python日期获取今天及昨天的年月日等信息 总结 这次介绍日期数据处理. 用python中的方法对日期数据进行处理, 我们可以获取很多有用的信息, 比如年月日,星期,周次,季度等, 这里分享工作和数据竞赛30余种常用的转换方法. 1 计算日期的年月日时分秒,星期,周次… 用pandas

  • js实现的日期操作类DateTime函数代码

    方法注解: 将指定的天数加到此实例的值上. 将指定的小时数加到此实例的值上. 将指定的分钟数加到此实例的值上. 将指定的毫秒数加到此实例的值上. 将指定的月份数加到此实例的值上. 将指定的秒数加到此实例的值上. 将指定的年份数加到此实例的值上. 将此实例的值与指定的 Date 值相比较,并指示此实例是早于.等于还是晚于指定的 Date 值. 返回一个数值相同的新DateTime对象 返回一个值,该值指示此实例是否与指定的 DateTime 实例相等. 获取此实例的日期部分. 获取此实例所表示的日

随机推荐