计算给定日期是星期几,好象是编程都会遇到的问题,最近论坛里也有人提到这个问题,并给出了一个公式:             W=   (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)   mod   7   (要求将1.2月当作上一年的13.14月来计算)       去看了看这个公式的原帖http://blog.csdn.net/ycrao/archive/2000/11/24/3825.aspx   其讲述的过程并不清楚,便想怎样自己推导出一个公式来,花了几个小时,总算是…
求某年某月某日是周几; 蔡勒(Zeller)公式: w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 ;y是年的后两位:c是世纪数-1(年的前两位):m是月份,大于等于3,小于等于14,某年的1.2月要看作上一年的13.14月来计算,例如2000年1月1日要按1999年13月1日来算:d是天数:[ ]代表取整: int Zeller(int Y, int m, int d) { int c,y,w; ) { Y-=; m+=; } c = Y / ; y = Y % ; w…
需求说明: 随机输入日期计算星期几,打印任意一年的日历 已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几 实现思路: 一.知道1900年1月1日为星期一,求输入的年份月份与1900年1月1日相隔的总天数.闰年366天,平年365天. 通过运算符实现闰年判断的条件: (1)能被4整除且不能被100整除的年份 (2)能被400整除的年份 (3)两个条件只需要满足其中任意一个即可,故闰年判断的条件: ((i % 4 == 0)&&(i % 100 != 0))||(i % 400…
0. 本文的初衷及蔡勒公式的用处 前一段时间,我在准备北邮计算机考研复试的时候,做了几道与日期计算相关的题目,在这个过程中我接触到了蔡勒公式.先简单的介绍一下蔡勒公式是干什么用的. 我们有时候会遇到这样的问题:看到一个日期想知道这一天是星期几,甚至看到一个历史日期或纪念日,我们想快速的知道这一天是星期几.对于这个问题,如果用编程的方式,应该怎么实现呢?你可能已经有思路了,比如你知道某个日期是星期几,把这个日期作为原点,然后计算目标日期和这个原点之间相差多少天,再除以 7 求余数,最后通过余数判断…
蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几. W =[ [c/4] - 2c + y + [y/4] + [13 * (m+1) / 5] + d - 1 ]% 7 其中, w:星期: w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 c:世纪减1(年份前两位数) y:年(后两位数) m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1…
/// <summary> /// 根据日期返回 星期(返回结果为英文) /// </summary> /// <param name="date">日期</param> /// <returns>星期</returns> public string ConvertDateToENWeek(DateTime date) { DayOfWeek dt = new DateTime(date.Year, date.Mo…
工作中用到的,在存储过程中的语句,简单记下: /** 判断输入日期是星期几 */ select decode(to_char(to_date(iv_date,'yyyy-mm-dd'), 'day'),'星期一','1','星期二','2','星期三','3','星期四','4','星期五','5','星期六','6','7') into vi_weeknum from dual; /** 计算离输入日期最近的星期一的日期 */ select to_char((to_date(iv_date,'…
region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(,,);) /// <summary> /// 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /// </summary> /// <param name="y">年</param> /// <param name="m">月</param> //…
题意: [3月的第二个周日02:00:00 , 3月的第二个周日03:00:00) 这个区间都不是PST或PDT,[11月的第一个周日01:00:00 , 11月的第一个周日02:00:00) 这个区间既是PST又是PDT,中间的是PDT,两边的是PST. 分析: 计算星期几可以直接用公式进行计算 C/C++ 根据年月日计算星期几--蔡勒公式篇 计算3月的第二个周日为哪一天:day=15-ReturnWeekDay(year,3,1) 计算11月的第一个周日为哪一天:day=8-ReturnWe…
—— 蔡勒(Zeller)公式 ,小于等于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's Congruence: w=y + [y/4] + [c/4] - 2c + [26(m+1)/10] + d - 1 公式中的符号含义如下:w:星期: w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六c: 世纪数-1(四位数年份的前两位数)y: 年m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)d:日[ ]代表取整,即只…
题意:在二十世纪(1901年1月1日到2000年12月31日)中,有多少个月的1号是星期天? 蔡勒公式:计算 ( year , month , day ) 是星期几 以下图片仅供学习! /************************************************************************* > File Name: euler019.c > Author: WArobot > Blog: http://www.cnblogs.com/WArob…
来源好搜百科:http://baike.haosou.com/doc/1048888-1109421.html 蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几. 公式W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1(或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1) 若要计算的日期是在1582年10月4日或之前,公式则为 w=y+[y/4]+[c/4]-2c+[1…
可以用pg自带函数select extract(dow from current_date),之所以没用主要是展示一下通过数学方法计算日期的原理. drop function if exists getDateWeek(date);drop function if exists intervalDay(date);drop function if exists getMonMaxDay(integer,integer);drop function if exists getMonMaxDate(…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5349 解决:1923 题目描述: We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400. For example, years 2004, 2180 and 2400 are leap. Ye…
计算任何一天是星期几的几种算法 一:常用公式 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天. 二:蔡勒(Zeller)公式 w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期:c:世纪:y:年(两位数): m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如…
题意: 有一堆日期,这些日期都是星期五,但是数字被映射成了字母A~J,现在让你求逆映射,如果存在多种答案,输出字典序最小的那个. 题解: 用蔡勒公式解决关于星期几的问题. 对于映射,可以用笔者刚刚学会的神器,next_permutation(),直接按照字典序生成排列数作为映射,一旦找到解,就输出,必定是字典序最小的. 理论上,枚举10个排列数需要枚举10!≍3e6次,生成下一个排列复杂度为O(n),每次枚举还要检查1e5个日期. 但是一旦找到合法的映射便可直接输出,而不合法的映射往往在检查前几…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6112题意:中文题目 分析:关键点在与如何计算一个日期是星期几,这个可以通过蔡勒公式来计算.基姆拉尔森计算公式可以通过给定的year month day 计算出给定日期是星期几,注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算,最后这道题要考虑闰年的情况,2月29号只可能在闰年中出现.基姆拉尔森…
 HistoryTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87157#problem/C Description Android Vasya likes the history of the ancient world. He likes to read about various superstitions people had at th…
function zeller(dateStr) { var c = parseInt(dateStr.substr(0, 2)); var y = parseInt(dateStr.substr(2, 2)); var m = parseInt(dateStr.substr(4, 2)); var d = parseInt(dateStr.substr(6, 2)); console.log(m) if (m == 1 || m == 2) { //判断月份是否为1或2 y--; m += 1…
1005:今夕何夕 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)     Problem Description 今天是2017年8月6日,农历闰六月十五. 小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨. 为了排遣郁结,它决定思考一个数学问题:接下来最近的哪一年里的同一个日子,和今天的星期数一样?比如今天是8月6日,星期日.下一个也是星期日的8月6日发生在20…
最近在做的一个IOS项目中需要根据日期得出日期代表的是星期几,日期以字符串的形式获得,于是该方法可以简单描述如下: /* * 根据日期格式字符串返回日期代表星期几 * 参数:dateTime,字符串类型,日期格式字符串,格式为"yyyy-MM-dd HH:mm:ss" * 返回值:日期代表星期几,Int类型,星期一到星期日分别表示为:1-7 */ func getWeekDay(dateTime:String) ->Int 简单百度了一下,又大致浏览了一下官方API文档,得知NS…
直接上代码~~ 1.  在一个 Excel 生成当月或当年指定月份的日期及星期 ' 获取星期的显示 Function disp(i As Integer) Select Case i disp = "一" disp = "二" disp = "三" disp = "四" disp = "五" disp = "六" Case Else disp = "日" End Se…
日期求星期问题(java)-蓝桥杯 1:基姆拉尔森计算公式(计算星期) 公式: int week = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7; 此处y,m,d指代年月日:week代表星期:week= 0---6  对应:星期一到星期日 也可以 int week = (d+1+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7; 则week代表星期:week= 0---6  对应:星期日到星期六 注意注意注意:使用之前1.2月要看作上一年的13…
<script src="Js/jquery-3.1.1.min.js"></script> <script type="text/javascript"> /* * 格式化金额 个位起每三位逗号分隔 10,000.00 * @param n 小数位 * @return */ String.prototype.toThousands = function (n) { var n = n > 0 && n &l…
算法提高 日期计算   时间限制:1.0s   内存限制:256.0MB      问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情况. 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999 1 <= MM <= 12 1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期 1 &l…
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期. 在使用本文中的例子之前,你必须注意以下的问题.大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定.第一…
一.时间和日期计算 我们在应用开发中,时常须要和时间打交道,比方获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有例如以下几个: 1. NSDate:表示一个绝对的时间点 2. NSTimeZone:时区信息 3. NSLocale:本地化信息 4. NSDateComponents:一个封装了具体年月日.时秒分.周.季度等的类 5. NSCalendar:日历类,它提供了大部分的日期计算接口 6. NSDateFormatter:用来在日期和字符串之间转换 二.NSDa…
这篇文章主要介绍了PHP获取指定日期是星期几的实现方法,涉及php针对日期的读取.判断与字符串.数组相关运算操作技巧,需要的朋友可以参考下 本文实例讲述了PHP获取指定日期是星期几的实现方法.分享给大家供大家参考,具体如下: <?php header("Content-type: text/html; charset=utf-8"); //获取星期方法 function get_week($date){ //强制转换日期格式 $date_str=date('Y-m-d',strt…
js Date 函数方法 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前…