精华内容
下载资源
问答
  • 所以就有平年:元旦是星期几,最后一天就是星期几. 润年:元旦是星期几,最后一天就往后推一天. 题中,假设该年为平年,每年有52周多一天.则有:此年有53个星期(即最后一天为星期),则此年的元旦应是星期.而已知...

    正确答案是星期三!
    平年每年有52周多一天,闰年每年52周多两天.
    所以就有平年:元旦是星期几,最后一天就是星期几.
    润年:元旦是星期几,最后一天就往后推一天.
    题中,假设该年为平年,每年有52周多一天.则有:此年有53个星期二(即最后一天为星期二),则此年的元旦应是星期二.而已知当年元旦不是星期二,可知假设不成立.故该年为润年.
    对于润年有:最后一天为星期二,则元旦只能是星期一.
    当年为润年,又可以推出下一年为平年.(闰年是指公元年数能够被4整除的年数.)
    而下一年的第一天(元旦)为星期三,所以最后一天也是星期三.

    展开全文
  • 若已知1800年11日为星期3,则对于一个给定的年份和月份,输出这个最后一天星期几。 输入格式: 两行整数,分别代表年份和月份 输出格式: 星期数,0代表星期日 输入样例: 2033 12 输出...

    题目内容:
    若已知1800年1月1日为星期3,则对于一个给定的年份和月份,输出这个月的最后一天是星期几。

    输入格式:
    两行整数,分别代表年份和月份

    输出格式:
    星期数,0代表星期日

    输入样例:
    2033
    12

    输出样例:
    6
    时间限制:500ms内存限制:32000kb

    def judg_year(year):
        if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
             return True
        else:
             return False
    
    def is_month(year,month):
        if month in (1, 3, 5, 7,  8, 10, 12):
            return 31
        elif month in (4,6,9,11):
            return 30
        elif judg_year(year):
            return 29
        else:
            return 28
    
    def year_days(year):
        if judg_year(year):
            return 366
        else:
            return 365
    
    def weekday(year,month):
        weekday=1
        for year in range(1800,year):
            weekday=(weekday+year_days(year))%7
        for month in range(1,month+1):
            weekday=(weekday+is_month(year,month))%7
        print weekday
    
    y=int(raw_input())
    m=int(raw_input())
    weekday(y,m)
    展开全文
  • 其中找到当月最后一天时通过下月第一天往前推一天,需考虑该月是否为12月等等情况,具体hive sql如下,以当前日期为例: --先找到下个月的第一天,根据年月日确定当月最后一天的日期 drop table if exists...

    hive sql查找某天所在月的最后一个星期天,其余时间查找也可参考类似的思路

      主要思路就是通过找到该天所在月的最后一天属于周几,然后往前推到本月的最后一个星期天;其中找到当月最后一天时通过下月第一天往前推一天,需考虑该月是否为12月等等情况,具体hive sql如下,以当前日期为例:

    --先找到下个月的第一天,根据年月日确定当月最后一天的日期
    drop table if exists month_last_day_table;         
    create table if not exists month_last_day_table  as
    select 
     date_sub(
    	 concat(
    		concat(
    			(case when month(current_date())=12 then year(current_date())+1 else year(current_date()) end),   --年
    			'-',
    			(case when month(current_date())=12 then '01'
    			      when month(current_date())=11 then '12'
    				  else concat('0',month(current_date())+1) end)),                                        --月
    			'-',
    			'01'),                                                                          --日
    		1)	as month_last_day;  
    
    --获取当月最后一个星期天,判断当月最后一天属于周几,随后往前推到第一个星期天
    drop table if exists month_last_sunday;         
    create table if not exists month_last_sunday  as
    select 
    	case 
    		when time_judge =0 then month_last_day
    		when time_judge =1 then date_sub(month_last_day,1)
    		when time_judge =2 then date_sub(month_last_day,2)
    		when time_judge =3 then date_sub(month_last_day,3)
    		when time_judge =4 then date_sub(month_last_day,4)
    		when time_judge =5 then date_sub(month_last_day,5)
    		when time_judge =6 then date_sub(month_last_day,6) 
    	end as last_sunday	
    from
    	(select 
    		pmod(datediff(month_last_day, to_date('1920-01-01')) - 3, 7) as time_judge,month_last_day  --判断当月最后一天属于周几
    	from month_last_day_table ) t;
    
    展开全文
  •  SQL Server上的日期获取与Oracle确实有些不同,现将日期获取的方法说明如下: 以下getdate()为获取当天的日期,按照实际需求,可以替换成参数或实际的日期 ...当月第一天 select dateadd(d,
    

    SQL Server上的日期获取与Oracle确实有些不同,现将日期获取的方法说明如下:


    以下getdate()为获取当天的日期,按照实际需求,可以替换成参数或实际的日期


    当月天数

    select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0)))

    当月第一天

    select   dateadd(d,-day(getdate())+1,getdate()) 

    当月最后一天

    select   dateadd(d,-day(getdate()),dateadd(m,1,getdate()))

    本年最后一天

    select   dateadd(d,-day(getdate()),dateadd(m,12,getdate()))

    当月第一个星期一

    SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '')


    举个例子加以说明,以下案例是由于我原先采用substring将条件栏位转换为字符,导致性能上有所降低,后来直接引用以上函数并与月份函数有效结合而成,供大家参考:

    引用前 

    --where SUBSTRING(CONVERT(VARCHAR(12),Date1,112), 0, 7)=SUBSTRING(CONVERT(VARCHAR(12),DATEADD(MONTH,0,@fDate),112),0,7)
    引用后

    WHERE Date1>=dateadd(d,-day(@fDate)+1,@fDate) AND Date1<DATEADD(MONTH,1,dateadd(d,-day(@fDate)+1,@fDate))

    展开全文
  • 今天偶然在vue2/nodejs视频中看到一个计算“本月第一天星期、本月有多少天、上一个最后一天号” 最简便最快捷的方法。 如果自己写,就很容易要判断闰年问题,那就非常复杂了。网上很多关于这些的方法,都...
  • 如何计算某一天星期几?

    千次阅读 2007-10-19 13:01:00
    如何计算某一天星期几? 如何计算某一天星期几?——
  • 如何计算某一天星期几

    千次阅读 2014-09-22 15:45:12
    星期制度是种有古老传统的制度。据说因为《圣经·创世纪》中规定上帝用了六  时间创世纪,第七休息,所以人们也就以七个...指官员的工作每十日为个周期,第日休假),但后来也采取了西方的星期制度。
  • 由于经常会再oracle中获取当月的第一天/后一天/上一天/最后一天/上个这一天,所以整理出下面的oracle获取日期大全出来,有什么更好的建议可以留言补充一下。 日期说明 oracle语句(假设现在是2018-11-28 11:11...
  • 60秒轻松计算出任意一年任意一天星期几?一、提出问题 60秒就轻松计算出任意一年任意一天星期几吗? 你相信吗? 如果能算出,连脑神经专家都认为是神童。 大家可以通过度娘搜索“张戈 自闭症”,连人民网都有...
  • 计算任意一天星期几的问题

    千次阅读 2012-09-12 17:25:10
    星期制度是种有古老传统的制度。据说因为《圣经·创世纪》中规定上帝用了六  时间创世纪,第七休息,所以人们也就以七个...指官员的工作每十日为个周期,第日休假),但后来也采取了西方的星期制度。
  • 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天星期几, 并且计算出是一年中的第几天。 import java.io.*; import java.text.*; import java.util.Date; public class Test...
  • 如何计算某一天星期几? —— 蔡勒(Zeller)公式  历史上的某一天星期几?未来的某一天星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式。...
  • 、各种日期计算方法 # -*- coding: utf-8 -*- import datetime import calendar # 1.初始化个datetime.date类型的日期,多种方式 # init_date = datetime.date(2008, 1, 3) # <class 'datetime.date'> ...
  • 怎样获得任意一天星期几

    千次阅读 2007-04-25 09:08:00
    m:(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2要看作上一年的13、14来计算,比如2003年11日要看作2002年的131日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减,y是年份后两...
  • 计算某星期几推导

    千次阅读 2019-05-29 17:14:22
    如何计算某一天星期几? 转载自:https://www.cnblogs.com/dxywx/p/3362626.html —— 蔡勒(Zeller)公式 历史上的某一天星期几?未来的某一天星期几?关于这个问题,有很多计算公式(两个通用计算公式和...
  • /*********************************************************************************** 引用的网址: 基姆拉尔森公式推导:https://www.cnblogs.com/hanxi/archive/2012/06/12/2545828.html 蔡勒公式推导: ....
  • C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下:  基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+...把月和二月看成是上一年的三月和四月,例:如果是2004-1-10则换算成:2003-13-10来
  • 不查日历怎么知道任何一天星期几作者:刘夙 2004-5-2 1:53:20 博客中国(Blogchina.com) 文/葛民勤---------------------------------------------------------------------------摘要: 最常见的公式:W = [Y...
  • 取某天数:select day(dateadd(month,1,'2012-02-01')-1) --当月天数 select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) ---当月第一天 select dateadd(d,-day(getdate...---当月最后一天 select
  • java获取每月最后一天

    万次阅读 多人点赞 2018-02-10 06:37:27
    其实,不纠结于最后一天啦,也可以是上个最后一天,下个的第一天,等等之类的。我发现网上都是写好的一些例子,提供给大家解决那些固定要获取的一个最后一天或者第一天,但是代码注释却又惜字如金,导致...
  • [葛勤民]怎样计算任一天星期几

    千次阅读 2006-10-06 00:46:00
    据说因为《圣经·创世纪》中规定上帝用了六时间创世纪,第七休息,所以人们也就以七个周期来安排自己的工作和生活,而星期日是休息日。从实际的角度来讲,以七个周期,长短也比较合适。所以尽管中国...
  • SQL查询一个第一天/最后一天

    千次阅读 2011-09-16 10:39:39
    SQL查询一个第一天/最后一天 1.一个第一天的 Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 3
  • Mysql查询获取过去一年,最后一天,每,每的数据 前言 今天博主将为大家分享Mysql查询获取过去一年,最后一天,每,每的数据,不喜勿喷,如有异议欢迎讨论! 锁的分类 在本MySQL教程中–我们很乐意与您...
  • oracle获取本月第一天和最后一天及Oracle trunc()函数的用法 select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_char(last_day(sysdate), 'yyyy-mm-dd') &...
  • $today = date("Y-m-d"); $firstday = date('Y-m-01', strtotime($date));//本月第一天 $lastday = date('Y-m-d', strtotime("$firstday +1 month...//本月最后一天 $last= strtotime("-1 month", time()); $last_first
  • --当月天数select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) ---当月第一天select dateadd(d,-day(getdate())+1,getdate()) ---当月最后一天select dateadd(d,-day(getdate()),dateadd(m,1,...
  • 算出某星期几

    千次阅读 2010-03-13 09:46:00
    网上一搜,找到一个20多年前即存在的一个死板但有效的方法: 死记硬背公式法: 如year/month/day 星期几= (day+ 月值 + 常数值)%7 (求余) 其中(对于2007 年来说,这12个月值数字为前一个月最后一天的星期数) ...
  • System.out.println("2017年2月最后一天是:"+lastDay); //28 calendar.set(Calendar.DAY_OF_MONTH, lastDay); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); System.out.println(sdf.format(calendar....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,216
精华内容 32,886
关键字:

十二月的最后一天是星期几