精华内容
下载资源
问答
  • 一年的节日日期
    千次阅读
    2021-01-14 07:25:38

    匿名用户

    1级

    2008-06-28 回答

    中国传统节日

    我国主要的传统节日有春节、元宵、清明、端午、七夕、中秋、重阳、冬至、腊八等等。

    春节是我国最盛大、最热闹的一个古老传统节日。俗称“过年”。按照我国农历,正月初一是“岁之元,月之元,时之元”,是一年的开始。传统的庆祝活动则从除夕一直持续到正月十五元宵节。每到除夕,家家户户阖家欢聚,一起吃年夜饭,称“团年”。其间谈笑风生,其乐融融。然后一起守岁,叙旧话新,互相祝贺鼓励。当新年来临时,爆竹烟花将节日的喜庆气氛推向高潮。我国北方地区在此时有吃饺子的习俗,取“更岁交子”之意。而南方有吃年糕的习惯,象征生活步步高。守岁达旦,喜贴春联,敲锣打鼓,张灯结彩,送旧迎新的活动热闹非凡。另外,各地还有互相登门拜年,舞狮子,耍龙灯,演社火,逛花市,赏灯会等习俗。

    农历正月十五夜,是我国民间传统的元宵节,又称上元节,灯节。正月十五闹元宵,将从除夕开始延续的庆祝活动推向又一个高潮。元宵之夜,大街小巷张灯结彩,人们赏灯,猜灯谜,吃元宵,成为世代相沿的习俗。

    元宵节赏灯的习俗始于汉朝。隋唐时发展成盛大的灯市。到宋元时期,京都灯市常常绵延数十里。灯会的时间,汉朝只限于正月十五一夜,唐玄宗延长到三夜,到明朝规定从正月初八一直持续到正月十七。唐朝灯会中出现了杂耍技艺,宋代开始有灯谜。明朝有增加了戏曲表演。灯市所用的彩灯,也演绎出 “橘灯 ”、 “绢灯 ”、 “五彩羊皮灯 ”、 “无骨麦秸灯”、“走马灯”、“孔明灯”等等。始于南宋的灯谜,生动活泼,饶有风趣。经过历代发展创造,至今仍在使用的谜格有粉底格、秋千格、卷帘格、白头格、徐妃格、求凤格等一百余种,大多有限定的格式和奇巧的要求,巧立名目,妙意横生

    元宵节吃元宵的习俗始于宋朝。意在祝福全家团圆和睦,在新的一年中康乐幸福。元宵分实心和带馅两种。有香辣甜酸咸五味。可以煮、炒、油炸或蒸制。桂花酒酿元宵、以肉馅、豆沙、芝麻、桂花、果仁制成的五味元宵以及用葱、芥、蒜、韭、姜制成的象征勤劳、长久、向上的五辛元宵都各有特色。

    清明既是二十四节气之一,又是一个历史悠久的传统节日。清明的前一天称寒食节。两节恰逢阳春三月,春光明媚,桃红柳绿,一派欣欣向荣的气象。寒食节的设立是为了纪念春秋时代晋朝“士甘焚死不公侯”的介子推。清明寒食期间,民间有禁火寒食、祭祖扫墓、踏青郊游等习俗。另外还有荡秋千、放风筝、拔河、斗鸡、戴柳、斗草、打球等传统活动。使清明成为一个富有诗意的节 日。

    农历五月初五,是我国传统的端午节,又称端阳、重五、端五节。早在周朝,就有“五月五日,蓄兰而沐”的习俗。但今天端午节的众多活动都与纪念我国伟大的文学家屈原有关。这一天,家家户户都要吃粽子,南方各地举行龙舟大赛,都与悼念屈原有关。同时,端午节也是自古相传的“卫生节”,人们在这一天洒扫庭院,挂艾枝,悬菖蒲,洒雄黄水,饮雄黄酒,激清除腐,杀菌防病。这些活动也反映了我们民族的优良传统。

    由无数恒星组成的银河象一条天河横亘夜空,人们说,它把多情的牛郎和织女隔开了,只有每年七月初七,天下的喜鹊搭成一座鹊桥,他们才能相见。这个美好的传说始于汉朝,经过千余年的代代相传,深入人心。这一天,民间有向织女乞巧的习俗。一般是比赛穿针引线,看谁更心灵手巧。因此,七夕又叫乞巧节或女儿节。每到七夕将至,牵牛和织女二星都竟夜经天,直至太阳升起才隐退。因而又被喻为人间离别的夫妻相会。这一夜还有观天河祈祷五谷丰收的习俗,有些地方还举办“青苗会”。

    农历八月十五,是一年秋季的中间,因此称中秋节。中秋之夜,除了赏月、祭月、吃月饼,有些地方还有舞草龙,砌宝塔等活动。除月饼外,各种时令鲜果干果也是中秋夜的美食。此夜,人们仰望如玉如盘的明月,自然会期盼家人团聚。远在他乡的游子,也借此寄托自己对故乡和亲人的思念之情。所以,中秋又称“团圆节”。

    金秋送爽,丹桂飘香,农历九月初九的重阳佳节活动极为丰富,有登高、赏菊、喝菊花酒、吃重阳糕、插茱萸等等。重阳节又是“老人节”,老人们在这一天或赏菊以陶冶情操,或登高以锻炼体魄,给桑榆晚景增添了无限乐趣。

    冬至在我国古代是一个很隆重的节日。至今我国台湾还保存着冬至用九层糕祭祖的传统,以示不忘更本,祝福阖家团圆。北方地区冬至有宰羊,吃饺子的习俗,南方的传统食品有冬至米团、冬至长线面等等。

    腊八节是佛教的节日。这一天是释迦牟尼成佛的日子,又称“成道节”。这一天最重要的活动是吃腊八粥。最早的腊八粥只是在米粥中加入红小豆,后来演变的极为复杂考究,主料有白米、黄米、江米、小米、菱角米等数十种,添加核桃、杏仁、瓜子、花生、松仁、葡萄干、桂圆肉、百合、莲子等,通宵熬煮,香飘十里。除腊八粥外,还有腊八面、腊八蒜等风味食品。它们即可滋补身体,又是喜庆丰收的一种形式,拉开了春节的序幕。

    更多相关内容
  • 以感恩节为例!!! 加拿大感恩节是十月第二个星期一。 美国感恩节是十一月第四个星期四。

    以感恩节为例!!!

    加拿大感恩节是十月第二个星期一。
    美国感恩节是十一月第四个星期四。

    目前最流行的还是美国的感恩节,下边是计算美国感恩节的代码,改一下参数就可以计算加拿大感恩节了。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    month = 11
    thursday = 4
    date_value_index = 0
    
    import calendar
    cal = calendar.Calendar(firstweekday=6)
    for year in range(1900, 2101):
        weeks = cal.monthdays2calendar(year, month)
        week_index = 3
        if weeks[0][thursday][date_value_index] == 0:
            week_index += 1
        result = weeks[week_index][thursday][date_value_index]
        print("{}年的感恩节是:11月{}日".format(year, str(result).zfill(2)))
    
    

    1900年-2100年的感恩节:

    1900年的感恩节是:11月22日
    1901年的感恩节是:11月28日
    1902年的感恩节是:11月27日
    1903年的感恩节是:11月26日
    1904年的感恩节是:11月24日
    1905年的感恩节是:11月23日
    1906年的感恩节是:11月22日
    1907年的感恩节是:11月28日
    1908年的感恩节是:11月26日
    1909年的感恩节是:11月25日
    1910年的感恩节是:11月24日
    1911年的感恩节是:11月23日
    1912年的感恩节是:11月28日
    1913年的感恩节是:11月27日
    1914年的感恩节是:11月26日
    1915年的感恩节是:11月25日
    1916年的感恩节是:11月23日
    1917年的感恩节是:11月22日
    1918年的感恩节是:11月28日
    1919年的感恩节是:11月27日
    1920年的感恩节是:11月25日
    1921年的感恩节是:11月24日
    1922年的感恩节是:11月23日
    1923年的感恩节是:11月22日
    1924年的感恩节是:11月27日
    1925年的感恩节是:11月26日
    1926年的感恩节是:11月25日
    1927年的感恩节是:11月24日
    1928年的感恩节是:11月22日
    1929年的感恩节是:11月28日
    1930年的感恩节是:11月27日
    1931年的感恩节是:11月26日
    1932年的感恩节是:11月24日
    1933年的感恩节是:11月23日
    1934年的感恩节是:11月22日
    1935年的感恩节是:11月28日
    1936年的感恩节是:11月26日
    1937年的感恩节是:11月25日
    1938年的感恩节是:11月24日
    1939年的感恩节是:11月23日
    1940年的感恩节是:11月28日
    1941年的感恩节是:11月27日
    1942年的感恩节是:11月26日
    1943年的感恩节是:11月25日
    1944年的感恩节是:11月23日
    1945年的感恩节是:11月22日
    1946年的感恩节是:11月28日
    1947年的感恩节是:11月27日
    1948年的感恩节是:11月25日
    1949年的感恩节是:11月24日
    1950年的感恩节是:11月23日
    1951年的感恩节是:11月22日
    1952年的感恩节是:11月27日
    1953年的感恩节是:11月26日
    1954年的感恩节是:11月25日
    1955年的感恩节是:11月24日
    1956年的感恩节是:11月22日
    1957年的感恩节是:11月28日
    1958年的感恩节是:11月27日
    1959年的感恩节是:11月26日
    1960年的感恩节是:11月24日
    1961年的感恩节是:11月23日
    1962年的感恩节是:11月22日
    1963年的感恩节是:11月28日
    1964年的感恩节是:11月26日
    1965年的感恩节是:11月25日
    1966年的感恩节是:11月24日
    1967年的感恩节是:11月23日
    1968年的感恩节是:11月28日
    1969年的感恩节是:11月27日
    1970年的感恩节是:11月26日
    1971年的感恩节是:11月25日
    1972年的感恩节是:11月23日
    1973年的感恩节是:11月22日
    1974年的感恩节是:11月28日
    1975年的感恩节是:11月27日
    1976年的感恩节是:11月25日
    1977年的感恩节是:11月24日
    1978年的感恩节是:11月23日
    1979年的感恩节是:11月22日
    1980年的感恩节是:11月27日
    1981年的感恩节是:11月26日
    1982年的感恩节是:11月25日
    1983年的感恩节是:11月24日
    1984年的感恩节是:11月22日
    1985年的感恩节是:11月28日
    1986年的感恩节是:11月27日
    1987年的感恩节是:11月26日
    1988年的感恩节是:11月24日
    1989年的感恩节是:11月23日
    1990年的感恩节是:11月22日
    1991年的感恩节是:11月28日
    1992年的感恩节是:11月26日
    1993年的感恩节是:11月25日
    1994年的感恩节是:11月24日
    1995年的感恩节是:11月23日
    1996年的感恩节是:11月28日
    1997年的感恩节是:11月27日
    1998年的感恩节是:11月26日
    1999年的感恩节是:11月25日
    2000年的感恩节是:11月23日
    2001年的感恩节是:11月22日
    2002年的感恩节是:11月28日
    2003年的感恩节是:11月27日
    2004年的感恩节是:11月25日
    2005年的感恩节是:11月24日
    2006年的感恩节是:11月23日
    2007年的感恩节是:11月22日
    2008年的感恩节是:11月27日
    2009年的感恩节是:11月26日
    2010年的感恩节是:11月25日
    2011年的感恩节是:11月24日
    2012年的感恩节是:11月22日
    2013年的感恩节是:11月28日
    2014年的感恩节是:11月27日
    2015年的感恩节是:11月26日
    2016年的感恩节是:11月24日
    2017年的感恩节是:11月23日
    2018年的感恩节是:11月22日
    2019年的感恩节是:11月28日
    2020年的感恩节是:11月26日
    2021年的感恩节是:11月25日
    2022年的感恩节是:11月24日
    2023年的感恩节是:11月23日
    2024年的感恩节是:11月28日
    2025年的感恩节是:11月27日
    2026年的感恩节是:11月26日
    2027年的感恩节是:11月25日
    2028年的感恩节是:11月23日
    2029年的感恩节是:11月22日
    2030年的感恩节是:11月28日
    2031年的感恩节是:11月27日
    2032年的感恩节是:11月25日
    2033年的感恩节是:11月24日
    2034年的感恩节是:11月23日
    2035年的感恩节是:11月22日
    2036年的感恩节是:11月27日
    2037年的感恩节是:11月26日
    2038年的感恩节是:11月25日
    2039年的感恩节是:11月24日
    2040年的感恩节是:11月22日
    2041年的感恩节是:11月28日
    2042年的感恩节是:11月27日
    2043年的感恩节是:11月26日
    2044年的感恩节是:11月24日
    2045年的感恩节是:11月23日
    2046年的感恩节是:11月22日
    2047年的感恩节是:11月28日
    2048年的感恩节是:11月26日
    2049年的感恩节是:11月25日
    2050年的感恩节是:11月24日
    2051年的感恩节是:11月23日
    2052年的感恩节是:11月28日
    2053年的感恩节是:11月27日
    2054年的感恩节是:11月26日
    2055年的感恩节是:11月25日
    2056年的感恩节是:11月23日
    2057年的感恩节是:11月22日
    2058年的感恩节是:11月28日
    2059年的感恩节是:11月27日
    2060年的感恩节是:11月25日
    2061年的感恩节是:11月24日
    2062年的感恩节是:11月23日
    2063年的感恩节是:11月22日
    2064年的感恩节是:11月27日
    2065年的感恩节是:11月26日
    2066年的感恩节是:11月25日
    2067年的感恩节是:11月24日
    2068年的感恩节是:11月22日
    2069年的感恩节是:11月28日
    2070年的感恩节是:11月27日
    2071年的感恩节是:11月26日
    2072年的感恩节是:11月24日
    2073年的感恩节是:11月23日
    2074年的感恩节是:11月22日
    2075年的感恩节是:11月28日
    2076年的感恩节是:11月26日
    2077年的感恩节是:11月25日
    2078年的感恩节是:11月24日
    2079年的感恩节是:11月23日
    2080年的感恩节是:11月28日
    2081年的感恩节是:11月27日
    2082年的感恩节是:11月26日
    2083年的感恩节是:11月25日
    2084年的感恩节是:11月23日
    2085年的感恩节是:11月22日
    2086年的感恩节是:11月28日
    2087年的感恩节是:11月27日
    2088年的感恩节是:11月25日
    2089年的感恩节是:11月24日
    2090年的感恩节是:11月23日
    2091年的感恩节是:11月22日
    2092年的感恩节是:11月27日
    2093年的感恩节是:11月26日
    2094年的感恩节是:11月25日
    2095年的感恩节是:11月24日
    2096年的感恩节是:11月22日
    2097年的感恩节是:11月28日
    2098年的感恩节是:11月27日
    2099年的感恩节是:11月26日
    2100年的感恩节是:11月25日
     

    展开全文
  • #自动查询节日 给定起始日期和结束日期,自动获取总共的节假日天数 import datetime from dateutil import rrule,easter try: set except NameError: from sets import Set as set #复活节 def all_easter(start,...
  • 文章目录 前言 代码展示 ...主要可以用来实现日历或老黄历等功能。... System.out.println("节日:"+gre.getGremessage()); System.out.println("干支纪年:"+c.cyclical()); System.out.println("农...

    文章目录

    前言

    主要可以用来实现日历或老黄历等功能。

      把公历时间处理成农历时间

        System.out.println("二十四节气:"+s.getSolartermsMsg());
            System.out.println("节日:"+gre.getGremessage());
            System.out.println("干支纪年:"+c.cyclical());
            System.out.println("农历:"+c.animalsYear());
            System.out.println("传统节日:"+c.getChinaCalendarMsg(c.mLuchYear,c.mLuchMonth, c.mLuchDay));
            System.out.println("日期:"+c.getDay(ca));
            System.out.println("农历:"+c.getDay());
            System.out.println("星期:"+c.getWeek(ca));

    代码展示

    package com.wwp.utils.weather;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    
    /**
     * 把公历时间处理成农历时间
     *
     * class name: CalendarUtil
     * description:
     * authername:wangwenping
     * modified by: xx 
     * modified time:
     * modified info :
     * @version 1.0.0
     *
     */
    public class CalendarUtil {
    	
    	
    	public static void main(String[] args) {
    		Calendar ca = Calendar.getInstance();
    		SolarTermsUtil s=new SolarTermsUtil(ca);
    		CalendarUtil c=new CalendarUtil(ca);
    		GregorianUtil gre=new GregorianUtil(ca);
    //		System.out.println((StringUtil.isNullOrEmpty(gre.getGremessage())?gre.getGremessage():gre.getGremessage()+"节  ")+"阳历"+getCurrentDay(ca)+"("+c.animalsYear()+"年 "+c.cyclical()+")");
    		
    		System.out.println("二十四节气:"+s.getSolartermsMsg());
    		System.out.println("节日:"+gre.getGremessage());
    		System.out.println("干支纪年:"+c.cyclical());
    		System.out.println("农历:"+c.animalsYear());
    		System.out.println("传统节日:"+c.getChinaCalendarMsg(c.mLuchYear,c.mLuchMonth, c.mLuchDay));
    		System.out.println("日期:"+c.getDay(ca));
    		System.out.println("农历:"+c.getDay());
    		System.out.println("星期:"+c.getWeek(ca));
    		
    		
    	}
    	
    	public static String toDayStr(){
    		Calendar ca = Calendar.getInstance();
    		SolarTermsUtil s=new SolarTermsUtil(ca);
    		CalendarUtil c=new CalendarUtil(ca);
    		GregorianUtil gre=new GregorianUtil(ca);
    		StringBuilder sb=new StringBuilder();
    		sb.append("今天是")
    		.append((StringUtil.isNullOrEmpty(gre.getGremessage())?gre.getGremessage():gre.getGremessage()+"节  ")+"阳历"+c.getCurrentDay(ca)+"("+c.animalsYear()+"年 "+c.cyclical()+")")
    		.append(s.getSolartermsMsg()+c.getChinaCalendarMsg(c.mLuchYear,c.mLuchMonth, c.mLuchDay));
    		return sb.toString();
    	}
    	
    	public static String getJqOrChinaMsg(){
    		Calendar ca = Calendar.getInstance();
    		SolarTermsUtil s=new SolarTermsUtil(ca);
    		CalendarUtil c=new CalendarUtil(ca);
    		GregorianUtil gre=new GregorianUtil(ca);
    		StringBuilder sb=new StringBuilder();
    		sb.append(s.getSolartermsMsg()+c.getChinaCalendarMsg(c.mLuchYear,c.mLuchMonth, c.mLuchDay));
    		return sb.toString();
    	}
    	
    	
    	    /**
    	     * 用于保存中文的月份
    	     */
    	    private final static String CHINESE_NUMBER[] = { "一", "二", "三", "四", "五",
    	            "六", "七", "八", "九", "十", "十一", "腊" };
    	 
    	    /**
    	     * 用于保存展示周几使用
    	     */
    	    private final static String WEEK_NUMBER[] = { "日", "一", "二", "三", "四", "五",
    	            "六" };
    	 
    	    private final static long[] LUNAR_INFO = new long[] { 0x04bd8, 0x04ae0,
    	            0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0,
    	            0x055d2, 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540,
    	            0x0d6a0, 0x0ada2, 0x095b0, 0x14977, 0x04970, 0x0a4b0, 0x0b4b5,
    	            0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970,
    	            0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3,
    	            0x092e0, 0x1c8d7, 0x0c950, 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0,
    	            0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, 0x06ca0,
    	            0x0b550, 0x15355, 0x04da0, 0x0a5d0, 0x14573, 0x052d0, 0x0a9a8,
    	            0x0e950, 0x06aa0, 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570,
    	            0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, 0x096d0, 0x04dd5,
    	            0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b5a0,
    	            0x195a6, 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50,
    	            0x06d40, 0x0af46, 0x0ab60, 0x09570, 0x04af5, 0x04970, 0x064b0,
    	            0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0,
    	            0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7,
    	            0x025d0, 0x092d0, 0x0cab5, 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50,
    	            0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, 0x07954,
    	            0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260,
    	            0x0ea65, 0x0d530, 0x05aa0, 0x076a3, 0x096d0, 0x04bd7, 0x04ad0,
    	            0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, 0x0b5a0, 0x056d0,
    	            0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20,
    	            0x0ada0 };
    	 
    	    /**
    	     * 转换为2012年11月22日格式
    	     */
    	    private static SimpleDateFormat chineseDateFormat = new SimpleDateFormat(
    	            "yyyy年MM月dd日");
    	    /**
    	     * 转换为2012-11-22格式
    	     */
    	    private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
    	            "yyyy-MM-dd");
    	 
    	    /**
    	     * 计算得到农历的年份
    	     */
    	    private int mLuchYear;
    	    /**
    	     * 计算得到农历的月份
    	     */
    	    private int mLuchMonth;
    	 
    	    /**
    	     * 计算得到农历的日期
    	     */
    	    private int mLuchDay;
    	 
    	    /**
    	     * 用于标识是事为闰年
    	     */
    	    private boolean isLoap;
    	 
    	    /**
    	     * 用于记录当前处理的时间
    	     */
    	    private Calendar mCurrenCalendar;
    	 
    	    /**
    	     * 传回农历 year年的总天数
    	     *
    	     * @param year
    	     *            将要计算的年份
    	     * @return 返回传入年份的总天数
    	     */
    	    private static int yearDays(int year) {
    	        int i, sum = 348;
    	        for (i = 0x8000; i > 0x8; i >>= 1) {
    	            if ((LUNAR_INFO[year - 1900] & i) != 0)
    	                sum += 1;
    	        }
    	        return (sum + leapDays(year));
    	    }
    	 
    	    /**
    	     * 传回农历 year年闰月的天数
    	     *
    	     * @param year
    	     *            将要计算的年份
    	     * @return 返回 农历 year年闰月的天数
    	     */
    	    private static int leapDays(int year) {
    	        if (leapMonth(year) != 0) {
    	            if ((LUNAR_INFO[year - 1900] & 0x10000) != 0)
    	                return 30;
    	            else
    	                return 29;
    	        } else
    	            return 0;
    	    }
    	 
    	    /**
    	     * 传回农历 year年闰哪个月 1-12 , 没闰传回 0
    	     *
    	     * @param year
    	     *            将要计算的年份
    	     * @return 传回农历 year年闰哪个月 1-12 , 没闰传回 0
    	     */
    	    private static int leapMonth(int year) {
    	        return (int) (LUNAR_INFO[year - 1900] & 0xf);
    	    }
    	 
    	    /**
    	     * 传回农历 year年month月的总天数
    	     *
    	     * @param year
    	     *            将要计算的年份
    	     * @param month
    	     *            将要计算的月份
    	     * @return 传回农历 year年month月的总天数
    	     */
    	    private static int monthDays(int year, int month) {
    	        if ((LUNAR_INFO[year - 1900] & (0x10000 >> month)) == 0)
    	            return 29;
    	        else
    	            return 30;
    	    }
    	 
    	    /**
    	     * 传回农历 y年的生肖
    	     *
    	     * @return 传回农历 y年的生肖
    	     */
    	    public String animalsYear() {
    	        final String[] Animals = new String[] { "鼠", "牛", "虎", "兔", "龙", "蛇",
    	                "马", "羊", "猴", "鸡", "狗", "猪" };
    	        return Animals[(mLuchYear - 4) % 12];
    	    }
    	 
    	    // ====== 传入 月日的offset 传回干支, 0=甲子
    	    private static String cyclicalm(int num) {
    	        final String[] Gan = new String[] { "甲", "乙", "丙", "丁", "戊", "己", "庚",
    	                "辛", "壬", "癸" };
    	        final String[] Zhi = new String[] { "子", "丑", "寅", "卯", "辰", "巳", "午",
    	                "未", "申", "酉", "戌", "亥" };
    	 
    	        return (Gan[num % 10] + Zhi[num % 12]);
    	    }
    	 
    	    // ====== 传入 offset 传回干支, 0=甲子
    	    public String cyclical() {
    	        int num = mLuchYear - 1900 + 36;
    	        return (cyclicalm(num));
    	    }
    	 
    	    /**
    	     * 传出y年m月d日对应的农历. yearCyl3:农历年与1864的相差数 ? monCyl4:从1900年1月31日以来,闰月数
    	     * dayCyl5:与1900年1月31日相差的天数,再加40 ?
    	     *
    	     * @param cal
    	     * @return
    	     */
    	    public CalendarUtil(Calendar cal) {
    	        mCurrenCalendar = cal;
    	        int leapMonth = 0;
    	        Date baseDate = null;
    	        try {
    	            baseDate = chineseDateFormat.parse("1900年1月31日");
    	        } catch (ParseException e) {
    	            e.printStackTrace(); // To change body of catch statement use
    	            // Options | File Templates.
    	        }
    	 
    	        // 求出和1900年1月31日相差的天数
    	        int offset = (int) ((cal.getTime().getTime() - baseDate.getTime()) / 86400000L);
    	        // 用offset减去每农历年的天数
    	        // 计算当天是农历第几天
    	        // i最终结果是农历的年份
    	        // offset是当年的第几天
    	        int iYear, daysOfYear = 0;
    	        for (iYear = 1900; iYear < 2050 && offset > 0; iYear++) {
    	            daysOfYear = yearDays(iYear);
    	            offset -= daysOfYear;
    	        }
    	        if (offset < 0) {
    	            offset += daysOfYear;
    	            iYear--;
    	        }
    	        // 农历年份
    	        mLuchYear = iYear;
    	 
    	        leapMonth = leapMonth(iYear); // 闰哪个月,1-12
    	        isLoap = false;
    	 
    	        // 用当年的天数offset,逐个减去每月(农历)的天数,求出当天是本月的第几天
    	        int iMonth, daysOfMonth = 0;
    	        for (iMonth = 1; iMonth < 13 && offset > 0; iMonth++) {
    	            // 闰月
    	            if (leapMonth > 0 && iMonth == (leapMonth + 1) && !isLoap) {
    	                --iMonth;
    	                isLoap = true;
    	                daysOfMonth = leapDays(mLuchYear);
    	            } else
    	                daysOfMonth = monthDays(mLuchYear, iMonth);
    	 
    	            offset -= daysOfMonth;
    	            // 解除闰月
    	            if (isLoap && iMonth == (leapMonth + 1))
    	                isLoap = false;
    	            if (!isLoap) {
    	            }
    	        }
    	        // offset为0时,并且刚才计算的月份是闰月,要校正
    	        if (offset == 0 && leapMonth > 0 && iMonth == leapMonth + 1) {
    	            if (isLoap) {
    	                isLoap = false;
    	            } else {
    	                isLoap = true;
    	                --iMonth;
    	            }
    	        }
    	        // offset小于0时,也要校正
    	        if (offset < 0) {
    	            offset += daysOfMonth;
    	            --iMonth;
    	 
    	        }
    	        mLuchMonth = iMonth;
    	        mLuchDay = offset + 1;
    	    }
    	 
    	    /**
    	     * 返化成中文格式
    	     *
    	     * @param day
    	     * @return
    	     */
    	    public static String getChinaDayString(int day) {
    	        String chineseTen[] = { "初", "十", "廿", "卅" };
    	        int n = day % 10 == 0 ? 9 : day % 10 - 1;
    	        if (day > 30)
    	            return "";
    	        if (day == 10)
    	            return "初十";
    	        else
    	            return chineseTen[day / 10] + CHINESE_NUMBER[n];
    	    }
    	 
    	    /**
    	     * 用于显示农历的初几这种格式
    	     *
    	     * @return 农历的日期
    	     */
    	    public String toStrings() {
    	        String message = "";
    	        // int n = mLuchDay % 10 == 0 ? 9 : mLuchDay % 10 - 1;
    	        message = getChinaCalendarMsg(mLuchYear, mLuchMonth, mLuchDay);
    	        if (StringUtil.isNullOrEmpty(message)) {
    	            String solarMsg = new SolarTermsUtil(mCurrenCalendar)
    	                    .getSolartermsMsg();
    	            // 判断当前日期是否为节气
    	            if (!StringUtil.isNullOrEmpty(solarMsg)) {
    	                message = solarMsg;
    	            } else {
    	                /**
    	                 * 判断当前日期是否为公历节日
    	                 */
    	                String gremessage = new GregorianUtil(mCurrenCalendar)
    	                        .getGremessage();
    	                if (!StringUtil.isNullOrEmpty(gremessage)) {
    	                    message = gremessage;
    	                } else if (mLuchDay == 1) {
    	                    message = CHINESE_NUMBER[mLuchMonth - 1] + "月";
    	                } else {
    	                    message = getChinaDayString(mLuchDay);
    	                }
    	 
    	            }
    	        }
    	        return message;
    	    }
    	 
    	    /**
    	     * 返回农历的年月日
    	     *
    	     * @return 农历的年月日格式
    	     */
    	    public String getDay() {
    	        return (isLoap ? "闰" : "") + CHINESE_NUMBER[mLuchMonth - 1] + "月"
    	                + getChinaDayString(mLuchDay);
    	    }
    	 
    	    /**
    	     * 把calendar转化为当前年月日
    	     *
    	     * @param calendar
    	     *            Calendar
    	     * @return 返回成转换好的 年月日格式
    	     */
    	    public  String getDay(Calendar calendar) {
    	        return simpleDateFormat.format(calendar.getTime());
    	    }
    	 
    	    /**
    	     * 用于比对二个日期的大小
    	     *
    	     * @param compareDate
    	     *            将要比对的时间
    	     * @param currentDate
    	     *            当前时间
    	     * @return true 表示大于当前时间 false 表示小于当前时间
    	     */
    	    public static boolean compare(Date compareDate, Date currentDate) {
    	        return chineseDateFormat.format(compareDate).compareTo(
    	                chineseDateFormat.format(currentDate)) >= 0;
    	    }
    	 
    	    /**
    	     * 获取当前周几
    	     *
    	     * @param calendar
    	     * @return
    	     */
    	    public  String getWeek(Calendar calendar) {
    	        return "周" + WEEK_NUMBER[calendar.get(Calendar.DAY_OF_WEEK) - 1] + "";
    	    }
    	 
    	    /**
    	     * 将当前时间转换成要展示的形式
    	     *
    	     * @param calendar
    	     * @return
    	     */
    	    public  String getCurrentDay(Calendar calendar) {
    	        return getDay(calendar) + " 农历" + new CalendarUtil(calendar).getDay()
    	                + " " + getWeek(calendar);
    	    }
    	 
    	    /**
    	     * 用于获取中国的传统节日
    	     *
    	     * @param month
    	     *            农历的月
    	     * @param day
    	     *            农历日
    	     * @return 中国传统节日
    	     */
    	    private String getChinaCalendarMsg(int year, int month, int day) {
    	        String message = "";
    	        if (((month) == 1) && day == 1) {
    	            message = "春节";
    	        } else if (((month) == 1) && day == 15) {
    	            message = "元宵";
    	        } else if (((month) == 5) && day == 5) {
    	            message = "端午";
    	        } else if ((month == 7) && day == 7) {
    	            message = "七夕";
    	        } else if (((month) == 8) && day == 15) {
    	            message = "中秋";
    	        } else if ((month == 9) && day == 9) {
    	            message = "重阳";
    	        } else if ((month == 12) && day == 8) {
    	            message = "腊八";
    	        } else {
    	            if (month == 12) {
    	                if ((((monthDays(year, month) == 29) && day == 29))
    	                        || ((((monthDays(year, month) == 30) && day == 30)))) {
    	                    message = "除夕";
    	                }
    	            }
    	        }
    	        return message;
    	    }
    	}
    	 
    	/**
    	 * 字符串的处理类
    	 */
    	class StringUtil {
    	    /**
    	     * 判断是否为null或空值
    	     *
    	     * @param str
    	     *            String
    	     * @return true or false
    	     */
    	    public static boolean isNullOrEmpty(String str) {
    	        return str == null || str.trim().length() == 0;
    	    }
    	 
    	    /**
    	     * 判断str1和str2是否相同
    	     *
    	     * @param str1
    	     *            str1
    	     * @param str2
    	     *            str2
    	     * @return true or false
    	     */
    	    public static boolean equals(String str1, String str2) {
    	        return str1 == str2 || str1 != null && str1.equals(str2);
    	    }
    	 
    	    /**
    	     * 判断str1和str2是否相同(不区分大小写)
    	     *
    	     * @param str1
    	     *            str1
    	     * @param str2
    	     *            str2
    	     * @return true or false
    	     */
    	    public static boolean equalsIgnoreCase(String str1, String str2) {
    	        return str1 != null && str1.equalsIgnoreCase(str2);
    	    }
    	 
    	    /**
    	     * 判断字符串str1是否包含字符串str2
    	     *
    	     * @param str1
    	     *            源字符串
    	     * @param str2
    	     *            指定字符串
    	     * @return true源字符串包含指定字符串,false源字符串不包含指定字符串
    	     */
    	    public static boolean contains(String str1, String str2) {
    	        return str1 != null && str1.contains(str2);
    	    }
    	 
    	    /**
    	     * 判断字符串是否为空,为空则返回一个空值,不为空则返回原字符串
    	     *
    	     * @param str
    	     *            待判断字符串
    	     * @return 判断后的字符串
    	     */
    	    public static String getString(String str) {
    	        return str == null ? "" : str;
    	    }
    	}
    	 
    	/**
    	 * 主要用于把公历日期处理成24节气
    	 */
    	class SolarTermsUtil {
    	 
    	    /**
    	     * 计算得到公历的年份
    	     */
    	    private int gregorianYear;
    	 
    	    /**
    	     * 计算得到公历的月份
    	     */
    	    private int gregorianMonth;
    	 
    	    /**
    	     * 用于计算得到公历的日期
    	     */
    	    private int gregorianDate;
    	 
    	    private int chineseYear;
    	    private int chineseMonth;
    	    private int chineseDate;
    	 
    	    // 初始日,公历农历对应日期:
    	    // 公历 1901 年 1 月 1 日,对应农历 4598 年 11 月 11 日
    	    private static int baseYear = 1901;
    	    private static int baseMonth = 1;
    	    private static int baseDate = 1;
    	    private static int baseIndex = 0;
    	    private static int baseChineseYear = 4598 - 1;
    	    private static int baseChineseMonth = 11;
    	    private static int baseChineseDate = 11;
    	    private static char[] daysInGregorianMonth = { 31, 28, 31, 30, 31, 30, 31,
    	            31, 30, 31, 30, 31 };
    	 
    	    private int sectionalTerm;
    	    private int principleTerm;
    	 
    	    private static char[][] sectionalTermMap = {
    	            { 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 5, 5, 6, 6, 5, 5, 5, 5, 5,
    	                    5, 5, 5, 4, 5, 5 },
    	            { 5, 4, 5, 5, 5, 4, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 3,
    	                    3, 4, 4, 3, 3, 3 },
    	            { 6, 6, 6, 7, 6, 6, 6, 6, 5, 6, 6, 6, 5, 5, 6, 6, 5, 5, 5, 6, 5, 5,
    	                    5, 5, 4, 5, 5, 5, 5 },
    	            { 5, 5, 6, 6, 5, 5, 5, 6, 5, 5, 5, 5, 4, 5, 5, 5, 4, 4, 5, 5, 4, 4,
    	                    4, 5, 4, 4, 4, 4, 5 },
    	            { 6, 6, 6, 7, 6, 6, 6, 6, 5, 6, 6, 6, 5, 5, 6, 6, 5, 5, 5, 6, 5, 5,
    	                    5, 5, 4, 5, 5, 5, 5 },
    	            { 6, 6, 7, 7, 6, 6, 6, 7, 6, 6, 6, 6, 5, 6, 6, 6, 5, 5, 6, 6, 5, 5,
    	                    5, 6, 5, 5, 5, 5, 4, 5, 5, 5, 5 },
    	            { 7, 8, 8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 7, 7, 7, 6, 7, 7, 7, 6, 6,
    	                    7, 7, 6, 6, 6, 7, 7 },
    	            { 8, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 7,
    	                    7, 7, 6, 7, 7, 7, 6, 6, 7, 7, 7 },
    	            { 8, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 7,
    	                    7, 7, 6, 7, 7, 7, 7 },
    	            { 9, 9, 9, 9, 8, 9, 9, 9, 8, 8, 9, 9, 8, 8, 8, 9, 8, 8, 8, 8, 7, 8,
    	                    8, 8, 7, 7, 8, 8, 8 },
    	            { 8, 8, 8, 8, 7, 8, 8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 7, 7, 7, 6, 7,
    	                    7, 7, 6, 6, 7, 7, 7 },
    	            { 7, 8, 8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 7, 7, 7, 6, 7, 7, 7, 6, 6,
    	                    7, 7, 6, 6, 6, 7, 7 } };
    	    private static char[][] sectionalTermYear = {
    	            { 13, 49, 85, 117, 149, 185, 201, 250, 250 },
    	            { 13, 45, 81, 117, 149, 185, 201, 250, 250 },
    	            { 13, 48, 84, 112, 148, 184, 200, 201, 250 },
    	            { 13, 45, 76, 108, 140, 172, 200, 201, 250 },
    	            { 13, 44, 72, 104, 132, 168, 200, 201, 250 },
    	            { 5, 33, 68, 96, 124, 152, 188, 200, 201 },
    	            { 29, 57, 85, 120, 148, 176, 200, 201, 250 },
    	            { 13, 48, 76, 104, 132, 168, 196, 200, 201 },
    	            { 25, 60, 88, 120, 148, 184, 200, 201, 250 },
    	            { 16, 44, 76, 108, 144, 172, 200, 201, 250 },
    	            { 28, 60, 92, 124, 160, 192, 200, 201, 250 },
    	            { 17, 53, 85, 124, 156, 188, 200, 201, 250 } };
    	    private static char[][] principleTermMap = {
    	            { 21, 21, 21, 21, 21, 20, 21, 21, 21, 20, 20, 21, 21, 20, 20, 20,
    	                    20, 20, 20, 20, 20, 19, 20, 20, 20, 19, 19, 20 },
    	            { 20, 19, 19, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, 19,
    	                    19, 18, 18, 19, 19, 18, 18, 18, 18, 18, 18, 18 },
    	            { 21, 21, 21, 22, 21, 21, 21, 21, 20, 21, 21, 21, 20, 20, 21, 21,
    	                    20, 20, 20, 21, 20, 20, 20, 20, 19, 20, 20, 20, 20 },
    	            { 20, 21, 21, 21, 20, 20, 21, 21, 20, 20, 20, 21, 20, 20, 20, 20,
    	                    19, 20, 20, 20, 19, 19, 20, 20, 19, 19, 19, 20, 20 },
    	            { 21, 22, 22, 22, 21, 21, 22, 22, 21, 21, 21, 22, 21, 21, 21, 21,
    	                    20, 21, 21, 21, 20, 20, 21, 21, 20, 20, 20, 21, 21 },
    	            { 22, 22, 22, 22, 21, 22, 22, 22, 21, 21, 22, 22, 21, 21, 21, 22,
    	                    21, 21, 21, 21, 20, 21, 21, 21, 20, 20, 21, 21, 21 },
    	            { 23, 23, 24, 24, 23, 23, 23, 24, 23, 23, 23, 23, 22, 23, 23, 23,
    	                    22, 22, 23, 23, 22, 22, 22, 23, 22, 22, 22, 22, 23 },
    	            { 23, 24, 24, 24, 23, 23, 24, 24, 23, 23, 23, 24, 23, 23, 23, 23,
    	                    22, 23, 23, 23, 22, 22, 23, 23, 22, 22, 22, 23, 23 },
    	            { 23, 24, 24, 24, 23, 23, 24, 24, 23, 23, 23, 24, 23, 23, 23, 23,
    	                    22, 23, 23, 23, 22, 22, 23, 23, 22, 22, 22, 23, 23 },
    	            { 24, 24, 24, 24, 23, 24, 24, 24, 23, 23, 24, 24, 23, 23, 23, 24,
    	                    23, 23, 23, 23, 22, 23, 23, 23, 22, 22, 23, 23, 23 },
    	            { 23, 23, 23, 23, 22, 23, 23, 23, 22, 22, 23, 23, 22, 22, 22, 23,
    	                    22, 22, 22, 22, 21, 22, 22, 22, 21, 21, 22, 22, 22 },
    	            { 22, 22, 23, 23, 22, 22, 22, 23, 22, 22, 22, 22, 21, 22, 22, 22,
    	                    21, 21, 22, 22, 21, 21, 21, 22, 21, 21, 21, 21, 22 } };
    	    private static char[][] principleTermYear = {
    	            { 13, 45, 81, 113, 149, 185, 201 },
    	            { 21, 57, 93, 125, 161, 193, 201 },
    	            { 21, 56, 88, 120, 152, 188, 200, 201 },
    	            { 21, 49, 81, 116, 144, 176, 200, 201 },
    	            { 17, 49, 77, 112, 140, 168, 200, 201 },
    	            { 28, 60, 88, 116, 148, 180, 200, 201 },
    	            { 25, 53, 84, 112, 144, 172, 200, 201 },
    	            { 29, 57, 89, 120, 148, 180, 200, 201 },
    	            { 17, 45, 73, 108, 140, 168, 200, 201 },
    	            { 28, 60, 92, 124, 160, 192, 200, 201 },
    	            { 16, 44, 80, 112, 148, 180, 200, 201 },
    	            { 17, 53, 88, 120, 156, 188, 200, 201 } };
    	 
    	    private static char[] chineseMonths = {
    	            // 农历月份大小压缩表,两个字节表示一年。两个字节共十六个二进制位数,
    	            // 前四个位数表示闰月月份,后十二个位数表示十二个农历月份的大小。
    	            0x00, 0x04, 0xad, 0x08, 0x5a, 0x01, 0xd5, 0x54, 0xb4, 0x09, 0x64,
    	            0x05, 0x59, 0x45, 0x95, 0x0a, 0xa6, 0x04, 0x55, 0x24, 0xad, 0x08,
    	            0x5a, 0x62, 0xda, 0x04, 0xb4, 0x05, 0xb4, 0x55, 0x52, 0x0d, 0x94,
    	            0x0a, 0x4a, 0x2a, 0x56, 0x02, 0x6d, 0x71, 0x6d, 0x01, 0xda, 0x02,
    	            0xd2, 0x52, 0xa9, 0x05, 0x49, 0x0d, 0x2a, 0x45, 0x2b, 0x09, 0x56,
    	            0x01, 0xb5, 0x20, 0x6d, 0x01, 0x59, 0x69, 0xd4, 0x0a, 0xa8, 0x05,
    	            0xa9, 0x56, 0xa5, 0x04, 0x2b, 0x09, 0x9e, 0x38, 0xb6, 0x08, 0xec,
    	            0x74, 0x6c, 0x05, 0xd4, 0x0a, 0xe4, 0x6a, 0x52, 0x05, 0x95, 0x0a,
    	            0x5a, 0x42, 0x5b, 0x04, 0xb6, 0x04, 0xb4, 0x22, 0x6a, 0x05, 0x52,
    	            0x75, 0xc9, 0x0a, 0x52, 0x05, 0x35, 0x55, 0x4d, 0x0a, 0x5a, 0x02,
    	            0x5d, 0x31, 0xb5, 0x02, 0x6a, 0x8a, 0x68, 0x05, 0xa9, 0x0a, 0x8a,
    	            0x6a, 0x2a, 0x05, 0x2d, 0x09, 0xaa, 0x48, 0x5a, 0x01, 0xb5, 0x09,
    	            0xb0, 0x39, 0x64, 0x05, 0x25, 0x75, 0x95, 0x0a, 0x96, 0x04, 0x4d,
    	            0x54, 0xad, 0x04, 0xda, 0x04, 0xd4, 0x44, 0xb4, 0x05, 0x54, 0x85,
    	            0x52, 0x0d, 0x92, 0x0a, 0x56, 0x6a, 0x56, 0x02, 0x6d, 0x02, 0x6a,
    	            0x41, 0xda, 0x02, 0xb2, 0xa1, 0xa9, 0x05, 0x49, 0x0d, 0x0a, 0x6d,
    	            0x2a, 0x09, 0x56, 0x01, 0xad, 0x50, 0x6d, 0x01, 0xd9, 0x02, 0xd1,
    	            0x3a, 0xa8, 0x05, 0x29, 0x85, 0xa5, 0x0c, 0x2a, 0x09, 0x96, 0x54,
    	            0xb6, 0x08, 0x6c, 0x09, 0x64, 0x45, 0xd4, 0x0a, 0xa4, 0x05, 0x51,
    	            0x25, 0x95, 0x0a, 0x2a, 0x72, 0x5b, 0x04, 0xb6, 0x04, 0xac, 0x52,
    	            0x6a, 0x05, 0xd2, 0x0a, 0xa2, 0x4a, 0x4a, 0x05, 0x55, 0x94, 0x2d,
    	            0x0a, 0x5a, 0x02, 0x75, 0x61, 0xb5, 0x02, 0x6a, 0x03, 0x61, 0x45,
    	            0xa9, 0x0a, 0x4a, 0x05, 0x25, 0x25, 0x2d, 0x09, 0x9a, 0x68, 0xda,
    	            0x08, 0xb4, 0x09, 0xa8, 0x59, 0x54, 0x03, 0xa5, 0x0a, 0x91, 0x3a,
    	            0x96, 0x04, 0xad, 0xb0, 0xad, 0x04, 0xda, 0x04, 0xf4, 0x62, 0xb4,
    	            0x05, 0x54, 0x0b, 0x44, 0x5d, 0x52, 0x0a, 0x95, 0x04, 0x55, 0x22,
    	            0x6d, 0x02, 0x5a, 0x71, 0xda, 0x02, 0xaa, 0x05, 0xb2, 0x55, 0x49,
    	            0x0b, 0x4a, 0x0a, 0x2d, 0x39, 0x36, 0x01, 0x6d, 0x80, 0x6d, 0x01,
    	            0xd9, 0x02, 0xe9, 0x6a, 0xa8, 0x05, 0x29, 0x0b, 0x9a, 0x4c, 0xaa,
    	            0x08, 0xb6, 0x08, 0xb4, 0x38, 0x6c, 0x09, 0x54, 0x75, 0xd4, 0x0a,
    	            0xa4, 0x05, 0x45, 0x55, 0x95, 0x0a, 0x9a, 0x04, 0x55, 0x44, 0xb5,
    	            0x04, 0x6a, 0x82, 0x6a, 0x05, 0xd2, 0x0a, 0x92, 0x6a, 0x4a, 0x05,
    	            0x55, 0x0a, 0x2a, 0x4a, 0x5a, 0x02, 0xb5, 0x02, 0xb2, 0x31, 0x69,
    	            0x03, 0x31, 0x73, 0xa9, 0x0a, 0x4a, 0x05, 0x2d, 0x55, 0x2d, 0x09,
    	            0x5a, 0x01, 0xd5, 0x48, 0xb4, 0x09, 0x68, 0x89, 0x54, 0x0b, 0xa4,
    	            0x0a, 0xa5, 0x6a, 0x95, 0x04, 0xad, 0x08, 0x6a, 0x44, 0xda, 0x04,
    	            0x74, 0x05, 0xb0, 0x25, 0x54, 0x03 };
    	 
    	    /**
    	     * 用于保存24节气
    	     */
    	    private static String[] principleTermNames = { "大寒", "雨水", "春分", "谷雨",
    	            "小满", "夏至", "大暑", "处暑", "秋分", "霜降", "小雪", "冬至" };
    	    /**
    	     * 用于保存24节气
    	     */
    	    private static String[] sectionalTermNames = { "小寒", "立春", "惊蛰", "清明",
    	            "立夏", "芒种", "小暑", "立秋", "白露", "寒露", "立冬", "大雪" };
    	 
    	    public SolarTermsUtil(Calendar calendar) {
    	        gregorianYear = calendar.get(Calendar.YEAR);
    	        gregorianMonth = calendar.get(Calendar.MONTH) + 1;
    	        gregorianDate = calendar.get(Calendar.DATE);
    	        computeChineseFields();
    	        computeSolarTerms();
    	    }
    	 
    	    public int computeChineseFields() {
    	        if (gregorianYear < 1901 || gregorianYear > 2100)
    	            return 1;
    	        int startYear = baseYear;
    	        int startMonth = baseMonth;
    	        int startDate = baseDate;
    	        chineseYear = baseChineseYear;
    	        chineseMonth = baseChineseMonth;
    	        chineseDate = baseChineseDate;
    	        // 第二个对应日,用以提高计算效率
    	        // 公历 2000 年 1 月 1 日,对应农历 4697 年 11 月 25 日
    	        if (gregorianYear >= 2000) {
    	            startYear = baseYear + 99;
    	            startMonth = 1;
    	            startDate = 1;
    	            chineseYear = baseChineseYear + 99;
    	            chineseMonth = 11;
    	            chineseDate = 25;
    	        }
    	        int daysDiff = 0;
    	        for (int i = startYear; i < gregorianYear; i++) {
    	            daysDiff += 365;
    	            if (isGregorianLeapYear(i))
    	                daysDiff += 1; // leap year
    	        }
    	        for (int i = startMonth; i < gregorianMonth; i++) {
    	            daysDiff += daysInGregorianMonth(gregorianYear, i);
    	        }
    	        daysDiff += gregorianDate - startDate;
    	 
    	        chineseDate += daysDiff;
    	        int lastDate = daysInChineseMonth(chineseYear, chineseMonth);
    	        int nextMonth = nextChineseMonth(chineseYear, chineseMonth);
    	        while (chineseDate > lastDate) {
    	            if (Math.abs(nextMonth) < Math.abs(chineseMonth))
    	                chineseYear++;
    	            chineseMonth = nextMonth;
    	            chineseDate -= lastDate;
    	            lastDate = daysInChineseMonth(chineseYear, chineseMonth);
    	            nextMonth = nextChineseMonth(chineseYear, chineseMonth);
    	        }
    	        return 0;
    	    }
    	 
    	    public int computeSolarTerms() {
    	        if (gregorianYear < 1901 || gregorianYear > 2100)
    	            return 1;
    	        sectionalTerm = sectionalTerm(gregorianYear, gregorianMonth);
    	        principleTerm = principleTerm(gregorianYear, gregorianMonth);
    	        return 0;
    	    }
    	 
    	    public static int sectionalTerm(int y, int m) {
    	        if (y < 1901 || y > 2100)
    	            return 0;
    	        int index = 0;
    	        int ry = y - baseYear + 1;
    	        while (ry >= sectionalTermYear[m - 1][index])
    	            index++;
    	        int term = sectionalTermMap[m - 1][4 * index + ry % 4];
    	        if ((ry == 121) && (m == 4))
    	            term = 5;
    	        if ((ry == 132) && (m == 4))
    	            term = 5;
    	        if ((ry == 194) && (m == 6))
    	            term = 6;
    	        return term;
    	    }
    	 
    	    public static int principleTerm(int y, int m) {
    	        if (y < 1901 || y > 2100)
    	            return 0;
    	        int index = 0;
    	        int ry = y - baseYear + 1;
    	        while (ry >= principleTermYear[m - 1][index])
    	            index++;
    	        int term = principleTermMap[m - 1][4 * index + ry % 4];
    	        if ((ry == 171) && (m == 3))
    	            term = 21;
    	        if ((ry == 181) && (m == 5))
    	            term = 21;
    	        return term;
    	    }
    	 
    	    /**
    	     * 用于判断输入的年份是否为闰年
    	     * 
    	     * @param year
    	     *            输入的年份
    	     * @return true 表示闰年
    	     */
    	    public static boolean isGregorianLeapYear(int year) {
    	        boolean isLeap = false;
    	        if (year % 4 == 0)
    	            isLeap = true;
    	        if (year % 100 == 0)
    	            isLeap = false;
    	        if (year % 400 == 0)
    	            isLeap = true;
    	        return isLeap;
    	    }
    	 
    	    public static int daysInGregorianMonth(int y, int m) {
    	        int d = daysInGregorianMonth[m - 1];
    	        if (m == 2 && isGregorianLeapYear(y))
    	            d++; // 公历闰年二月多一天
    	        return d;
    	    }
    	 
    	    public static int daysInChineseMonth(int y, int m) {
    	        // 注意:闰月 m < 0
    	        int index = y - baseChineseYear + baseIndex;
    	        int v = 0;
    	        int l = 0;
    	        int d = 30;
    	        if (1 <= m && m <= 8) {
    	            v = chineseMonths[2 * index];
    	            l = m - 1;
    	            if (((v >> l) & 0x01) == 1)
    	                d = 29;
    	        } else if (9 <= m && m <= 12) {
    	            v = chineseMonths[2 * index + 1];
    	            l = m - 9;
    	            if (((v >> l) & 0x01) == 1)
    	                d = 29;
    	        } else {
    	            v = chineseMonths[2 * index + 1];
    	            v = (v >> 4) & 0x0F;
    	            if (v != Math.abs(m)) {
    	                d = 0;
    	            } else {
    	                d = 29;
    	                for (int i = 0; i < bigLeapMonthYears.length; i++) {
    	                    if (bigLeapMonthYears[i] == index) {
    	                        d = 30;
    	                        break;
    	                    }
    	                }
    	            }
    	        }
    	        return d;
    	    }
    	 
    	    public static int nextChineseMonth(int y, int m) {
    	        int n = Math.abs(m) + 1;
    	        if (m > 0) {
    	            int index = y - baseChineseYear + baseIndex;
    	            int v = chineseMonths[2 * index + 1];
    	            v = (v >> 4) & 0x0F;
    	            if (v == m)
    	                n = -m;
    	        }
    	        if (n == 13)
    	            n = 1;
    	        return n;
    	    }
    	 
    	    // 大闰月的闰年年份
    	    private static int[] bigLeapMonthYears = { 6, 14, 19, 25, 33, 36, 38, 41,
    	            44, 52, 55, 79, 117, 136, 147, 150, 155, 158, 185, 193 };
    	 
    	    /**
    	     * 用于获取24节气的值
    	     * 
    	     * @return 24节气的值
    	     */
    	    public String getSolartermsMsg() {
    	        String str = "";
    	        String gm = String.valueOf(gregorianMonth);
    	        if (gm.length() == 1)
    	            gm = ' ' + gm;
    	        String cm = String.valueOf(Math.abs(chineseMonth));
    	        if (cm.length() == 1)
    	            cm = ' ' + cm;
    	        String gd = String.valueOf(gregorianDate);
    	        if (gd.length() == 1)
    	            gd = ' ' + gd;
    	        String cd = String.valueOf(chineseDate);
    	        if (cd.length() == 1)
    	            cd = ' ' + cd;
    	        if (gregorianDate == sectionalTerm) {
    	            str = " " + sectionalTermNames[gregorianMonth - 1];
    	        } else if (gregorianDate == principleTerm) {
    	            str = " " + principleTermNames[gregorianMonth - 1];
    	        }
    	        return str;
    	    }
    	}
    	 
    	/**
    	 * 对公历日期的处理类
    	 */
    	class GregorianUtil {
    	    private final static String[][] GRE_FESTVIAL = {
    	            // 一月
    	            { "元旦", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 二月
    	            { "", "", "", "", "", "", "", "", "", "", "", "", "", "情人", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 三月
    	            { "", "", "", "", "", "", "", "妇女", "", "", "", "植树", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "" },
    	            // 四月
    	            { "愚人", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 五月
    	            { "劳动", "", "", "青年", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "" },
    	            // 六月
    	            { "儿童", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 七月
    	            { "建党", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 八月
    	            { "建军", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 九月
    	            { "", "", "", "", "", "", "", "", "", "教师", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 十月
    	            { "国庆", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 十一月
    	            { "", "", "", "", "", "", "", "", "", "", "光棍", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
    	            // 十二月
    	            { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
    	                    "", "", "", "", "", "", "", "", "", "圣诞", "", "", "", "",
    	                    "", "" }, };
    	    private int mMonth;
    	    private int mDay;
    	 
    	    public GregorianUtil(Calendar calendar) {
    	        mMonth = calendar.get(Calendar.MONTH);
    	        mDay = calendar.get(Calendar.DATE);
    	    }
    	 
    	    public String getGremessage() {
    	        return GRE_FESTVIAL[mMonth][mDay - 1];
    	    }
    	}
    	 
    	class NumberHelper {
    	    public static String LeftPad_Tow_Zero(int str) {
    	        java.text.DecimalFormat format = new java.text.DecimalFormat("00");
    	        return format.format(str);
    	    }
    	}
    	
    
    	
    	
    
    展开全文
  • 原创内容,转载请注明出处:...但是使用起来有些麻烦,因为要不停的修改网站后台或源文件,我就在想,可不可以通过PHP来获取节日日期,并且自动显示,通过几天的折腾,也完...

    原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3724.html

    关键字:网站灯笼 春节灯笼 网站节日灯笼

    因为之前我在网上找到了一个网站灯笼效果的CSS源码,这源码是使用CSS重画两个灯笼的样式出来,然后再灯笼上显示节日,但是使用起来有些麻烦,因为要不停的修改网站后台或源文件,我就在想,可不可以通过PHP来获取节日日期,并且自动显示,通过几天的折腾,也完整折腾出来源码了,在这里要感谢深圳的邱斌兄弟,是他给了我一些指导和耐心的帮忙调试错误。写出来源码很简单,但是因为编写源码的环境改变了,所以出现了一些低级的错误。

    1、PHP中括号()出错,因为在写 jieri_date()函数的时候,调用了一个get_yunxiao()的函数,但是我却错误的把后边的括号写成全角字符了

    2、shell中在curl的时候,地址中的&符号需要用\进行转义,我就是因为没有对符号进行转义,调试了一整天

    3、PHP读取shell脚本生成日期模块的调试出错

    还好,现在这些问题都解决了,因为我以前是在Centos桌面里写源码,所以没有出现过这样的低级错误,但是现在换成Windows7下用phpstorm来写,但是在输入法切换上却出现了这样的低级错误,白白浪费了几天的时间来调试错误。

    言归正传,现在来演示达到效果需要的几步工作。

    1、注册聚合数据平台,使用 http://v.juhe.cn/calendar/year?year=2018&key=您申请的appKey 来获取当年节日时间,我们这里需要获取非固定的节日时间,例如:春节、元宵、端午、中秋等农历节日,像国庆、元旦、圣诞、情人等固定新历时间的不需要。

    2、准备好phpstorm和UltraEdit编辑器

    3、先把shell脚本保存为.sh后缀的文件上传到服务器/home/目录

    4、下载你网站目录中的functions.php和header.php两个源文件到本地,使用phpstorm或UltraEdit打开,然后把以下的源码复制到functions.php中的相关位置,然后在header.php相关位置中添加 这一句来进行调用即可。

    5、将functions.php和header.php两个源文件上传到网站目录中覆盖原文件即可。

    6、演示:https://jiayu.mybabya.com/jieri.php

    85ebe9588e75ecb65c71d5591219d05f.png

    f6f9e43bca39ad25dd6128663a6cd0e4.png

    SHELL源码

    #!/usr/bin/env bash

    # !/bin/bash

    ############################################################################################################################################

    #

    # This is a lottery number automatic generation tool

    # Autor: RucLinux

    # Web: https://www.myzhenai.com.cn/ https://www.myzhenai.com/ https://mangshe.python.hn.cn/ https://jiayu.mybabya.com/

    #

    #

    #############################################################################################################################################

    var=$(date +%Y)

    fen=$(curl -s http://v.juhe.cn/calendar/year?year=$var\&key=youappKey | awk -F "[" '{print $2}' | awk -F "]" '{print $1}' | sed 's/\\//g' | sed 's/\"//g' | sed 's/}\,/}/g' | sed 's/\,/\": /g' | sed 's/startday:/\"/g' | sed 's/}/\",\\n/g' | sed "s/name:/\"/g" | sed "s/{/ /g" | sed '/^[[:space:]]*$/d')

    echo -e "{" > /var/www/jieri.log

    echo -e "${fen}" >> /var/www/log

    echo -e "}" >> /var/www/jieri.log

    注:这里有几点需要说明

    1、youappKey这个一定要替换成你在聚合数据上申请的免费固定key,为什么要使用shell来获取这个接口数据呢,因为免费版本的1个月只有1000次免费使用,如果在php里调用这个接口的话,那么将很快就超出次数了。

    2、echo -e “${fen}” 这里必须要使用双引号引住

    3、将上边的源码保存为.sh文件,然后在crond里设置成每月运行即可

    /*# This is a festival code automatic generation tool

    # Autor: RucLinux # Web: https://www.myzhenai.com.cn/ https://www.myzhenai.com/ https://mangshe.python.hn.cn/ https://jiayu.mybabya.com/

    */

    /** 输出包含日期的css代码 $rixiid 变量是春节、端午、元宵、中秋等中文*/

    function CSS_code($rixiid)

    {

    $cssid = <<

    $rixiid
    快乐

    .deng-box {

    position: fixed;

    top: -30px;

    left: 220px;

    z-index: 9999;

    pointer-events: none;

    }

    .deng-box1 {

    position: fixed;

    top: -30px;

    right: 222px;

    z-index: 9999;

    pointer-events: none;

    }

    .deng-box1 .deng {

    position: relative;

    width: 120px;

    height: 90px;

    margin: 50px;

    background: #d8000f;

    background: rgba(216, 0, 15, 0.8);

    border-radius: 50% 50%;

    -webkit-transform-origin: 50% -100px;

    -webkit-animation: swing 5s infinite ease-in-out;

    box-shadow: -5px 5px 30px 4px rgba(252, 144, 61, 1);

    }

    .deng {

    position: relative;

    width: 120px;

    height: 90px;

    margin: 50px;

    background: #d8000f;

    background: rgba(216, 0, 15, 0.8);

    border-radius: 50% 50%;

    -webkit-transform-origin: 50% -100px;

    -webkit-animation: swing 3s infinite ease-in-out;

    box-shadow: -5px 5px 50px 4px rgba(250, 108, 0, 1);

    }

    .deng-a {

    width: 100px;

    height: 90px;

    background: #d8000f;

    background: rgba(216, 0, 15, 0.1);

    margin: 12px 8px 8px 10px;

    border-radius: 50% 50%;

    border: 2px solid #dc8f03;

    }

    .deng-b {

    width: 45px;

    height: 90px;

    background: #d8000f;

    background: rgba(216, 0, 15, 0.1);

    margin: -2px 8px 8px 26px;

    border-radius: 50% 50%;

    border: 2px solid #dc8f03;

    }

    .xian {

    position: absolute;

    top: -20px;

    left: 60px;

    width: 2px;

    height: 20px;

    background: #dc8f03;

    }

    .shui-a {

    position: relative;

    width: 5px;

    height: 20px;

    margin: -5px 0 0 59px;

    -webkit-animation: swing 4s infinite ease-in-out;

    -webkit-transform-origin: 50% -45px;

    background: #ffa500;

    border-radius: 0 0 5px 5px;

    }

    .shui-b {

    position: absolute;

    top: 14px;

    left: -2px;

    width: 10px;

    height: 10px;

    background: #dc8f03;

    border-radius: 50%;

    }

    .shui-c {

    position: absolute;

    top: 18px;

    left: -2px;

    width: 10px;

    height: 35px;

    background: #ffa500;

    border-radius: 0 0 0 5px;

    }

    .deng:before {

    position: absolute;

    top: -7px;

    left: 29px;

    height: 12px;

    width: 60px;

    content: " ";

    display: block;

    z-index: 999;

    border-radius: 5px 5px 0 0;

    border: solid 1px #dc8f03;

    background: #ffa500;

    background: linear-gradient(to right, #dc8f03, #ffa500, #dc8f03, #ffa500, #dc8f03);

    }

    .deng:after {

    position: absolute;

    bottom: -7px;

    left: 10px;

    height: 12px;

    width: 60px;

    content: " ";

    display: block;

    margin-left: 20px;

    border-radius: 0 0 5px 5px;

    border: solid 1px #dc8f03;

    background: #ffa500;

    background: linear-gradient(to right, #dc8f03, #ffa500, #dc8f03, #ffa500, #dc8f03);

    }

    .deng-t {

    font-family: 华文行楷,Arial,Lucida Grande,Tahoma,sans-serif;

    font-size: 1.5rem;

    color: #ffa500;

    font-weight: bold;

    line-height: 42px;

    text-align: center;

    width: 25px;

    margin: 0 auto;

    }

    .night .deng-t,

    .night .deng-box,

    .night .deng-box1 {

    background: transparent !important;

    }

    @-moz-keyframes swing {

    0% {

    -moz-transform: rotate(-10deg)

    }

    50% {

    -moz-transform: rotate(10deg)

    }

    100% {

    -moz-transform: rotate(-10deg)

    }

    }

    @-webkit-keyframes swing {

    0% {

    -webkit-transform: rotate(-10deg)

    }

    50% {

    -webkit-transform: rotate(10deg)

    }

    100% {

    -webkit-transform: rotate(-10deg)

    }

    }

    Kof;

    return $cssid;

    }

    /** 这是将所有字符串编码转换成UTF-8 */

    function strToUtf8($str){

    $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));

    if($encode == 'UTF-8'){

    return $str;

    }else{

    return mb_convert_encoding($str, 'UTF-8', $encode);

    }

    }

    /** 判断春节、中秋、端午等节日时间*/

    function panduan($jie)

    {

    $file = "jieri.log";

    if (file_exists($file)){

    $fp = file_get_contents($file);

    $hang = strToUtf8($fp);

    if (strpos($hang,$jie) !== false){

    $left = "\": \"";

    $rght = "\",";

    $th = strpos($hang,$jie,0);

    $t = strpos($hang,$left,$th);

    $tx = strpos($hang,$rght,$t);

    $bt = str_replace("\": \"","",substr($hang,$t,$tx-$t));

    }

    }

    return $bt;

    }

    /**

    * +----------------------------------------------------------

    * 功能:计算两个日期相差 年 月 日

    * +----------------------------------------------------------

    * @param date $date1 起始日期

    * @param date $date2 截止日期日期

    * +----------------------------------------------------------

    * @return array

    * +----------------------------------------------------------

    */

    function DiffDate($date1, $date2)

    {

    if (strtotime($date1) > strtotime($date2)) {

    $ymd = $date2;

    $date2 = $date1;

    $date1 = $ymd;

    }

    list($y1, $m1, $d1) = explode('-', $date1);

    list($y2, $m2, $d2) = explode('-', $date2);

    $y = $m = $d = $_m = 0;

    $math = ($y2 - $y1) * 12 + $m2 - $m1;

    $y = round($math / 12);

    $m = intval($math % 12);

    $d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400;

    if ($d < 0) {

    $m -= 1;

    $d += date('j', mktime(0, 0, 0, $m2, 0, $y2));

    }

    $m < 0 && $y -= 1;

    return array($y, $m, $d);

    }

    /** 判断两个时间相差多少天 */

    function time_difference($time1, $time2)

    {

    /** time1是小的时间。time2是大的时间,用time1-time2 */

    $today = date_create($time1);

    $zhongqiu = date_create($time2);

    $diff = date_diff($today, $zhongqiu);

    $dayto = $diff->format("%a");

    return $dayto;

    }

    /** 计算元宵节日期,需要提供除夕时,在这个时间上加15天就是元宵节 */

    function get_yunxiao()

    {

    $date = date_create(panduan("除夕"));

    $yun = date_add($date, date_interval_create_from_date_string("15 days"));

    $yunxiao = date_format($yun, "Y-n-d");

    return $yunxiao;

    }

    /** 输出节日祝福信息 */

    function jie_date()

    {

    $dd = date("Y-n-d");

    $dc = date("Y-n-d", strtotime("+1 day"));

    if (time_difference(date("Y") . "-1-1", $dc) <= 2 || time_difference(date("Y") . "-1-1", date("Y-n-d")) <= 4) {

    echo CSS_code("新年");

    }

    if (time_difference(date("Y") . "-10-1", $dc) <= 2 || time_difference(date("Y") . "-10-1", date("Y-n-d")) <= 8) {

    echo CSS_code("国庆");

    }

    if (time_difference(date("Y") . "-2-14", $dc) <= 2 || time_difference(date("Y") . "-2-14", date("Y-n-d")) <= 2) {

    echo CSS_code("情人");

    }

    if (time_difference(date("Y") . "-3-1", $dc) <= 2 || time_difference(date("Y") . "-3-1", date("Y-n-d")) <= 2) {

    echo CSS_code("开心");

    }

    if (time_difference(date("Y") . "-12-24", $dc) <= 2 || time_difference(date("Y") . "-12-24", date("Y-n-d")) <= 2) {

    echo CSS_code("圣诞");

    }

    if (time_difference($dd, panduan("春节")) <= 7 || time_difference(panduan("春节"), $dd) <= 7) {

    echo Css_code("春节");

    }

    if (time_difference($dd, panduan("中秋")) <= 3 || time_difference(panduan("中秋"), $dd) <= 3) {

    echo Css_code("中秋");

    }

    if (time_difference($dd, panduan("端午")) <= 3 || time_difference(panduan("端午"), $dd) <= 3) {

    echo Css_code("端午");

    }

    if (time_difference($dd, get_yunxiao()) <= 2 || time_difference(get_yunxiao(), $dd) <= 2) {

    echo Css_code("元宵");

    }

    }

    5bc2a77d376211b26665124854a08ab4.png

    8ca82c532db2e21673aa19e527591335.png

    sicnature ---------------------------------------------------------------------

    Your current IP address is: 114.99.12.152

    Your IP address location: 安徽省安庆市电信

    Your IP address country and region: 中国

    3211c715c0bf352c3fa72980bf0cc419.png

    Your current browser is:

    b2cb575f9cbd2e36961b3bf406c3355c.png

    Your current system is:

    mac.png

    Original content, please indicate the source:

    同福客栈论坛 | 蟒蛇科普 | 海南乡情论坛 | JiaYu Blog

    sicnature ---------------------------------------------------------------------

    Welcome to reprint. Please indicate the source https://www.myzhenai.com/post/3724.html

    展开全文
  • 原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3711.html我打算自己写一个每年节日就自动在网站上展示灯笼的源码功能,但是这里最重要的是要获得每年春节、端午节、中秋节等节日日期,因为要自己写...
  • 数据库表字段含有(年,月,日,日期,周几,假日标识,上一个工作日,下一个工作日),因每年的法定节假日及调休信息不同,故每一年的假日与工作日需要自行维护,改程序只需要将几个节日假期及补班的日期手动录入...
  • 日期计算 节假日 一年有多少天放假

    千次阅读 2018-02-28 16:42:35
    #include #include #include #include #include #include #include #include using namespace std; const int inf=0x3f3f3f3f; struct yinli{ int m,d; }yl[5];...int month[]={31,28,31,
  • 和中国的节日不同,美国的节假日通常是选择某个月的第几个星期几这种形式,因此每一年的放假日期都不相同。具体规则如下: 1月1日:元旦 1月的第三个星期一:马丁·路德·金纪念日 2月的第三个星期一:总统节 5月的...
  • 有一类节日日期并不是固定的,而是以“a月的第b个星期c”的形式定下来, 比如说母亲节就定位每年的五月的第二个星期日 现在,给你a,b,c和y1,y2(1850<=y1,y2<=2050),希望你输出从公园y1年到公园y2年间的...
  • python获取日期,python获取全年节假日
  • 计算一年前或一年后的日期 接着上面的例子中我们通过 LocalDate 的 plus() 方法增加天数、周数或月数,这个例子我们利用 minus() 方法计算一年前的日期。 //计算一年前或一年后的日期 public void minusDate...
  • 然后要知道标题三个节日的常识,母亲节在每年5月份的第二个星期天,父亲节在每年6月份的第三个星期天,而感恩节是在每年的11月份第四个星期的星期四。 知道这些常识就好办了。 写一个SQL的自定义函数: ...
  • 牛客网刷题:美国节日
  • ABAP常用日期函数

    2020-12-20 22:14:21
    DAY_P = DAY_P + 7.ENDIF.2)DATE_CONVERT_TO_FACTORYDATE根据日期返回工厂日历日期:有些国家有自己的传统节日,或者有些企业工作日有些不同,比如六天制,七天制,所以可以设置不同的工厂日历,该函数则是输入一个日期、...
  • [Asm] 纯文本查看 复制代码# coding=gbkimport requestsfrom bs4 import BeautifulSoupimport xlwt# 获取一年数据,以字典返回def getYear():yearDic = {}week = 2 # 初始星期,2019年1月1日为星期二year = 2019 # ...
  • 1:/*设置农历日期*/2:var CalendarData=new Array(100);3:var madd=new Array(12);4:var numString="一二三四五六七八九十";5:var monString="正二三四五六七八九十冬腊";6:var cYear,cMonth,cDay,TheDate;// 农历每...
  • // 这一年有闰月 if (leapMonth != 0) { if (month > leapMonth || (month == leapMonth && isLeapMonth)) { if ((LUNAR_INFO[year - MIN_YEAR] & (0x80000 >> (month - 1))) == 0) dayOffset += 29; else ...
  • ​ 和中国的节日不同,美国的节假日通常是选择某个月的第几个星期几这种形式,因此每一年的放假日期都不相同。具体规则如下: 1月1日:元旦 1月的第三个星期一:马丁·路德·金纪念日 2月的第三个星期一:总统节 5...
  • JAVA核心知识点--JDK1.8中的日期处理

    万次阅读 多人点赞 2017-12-12 19:22:54
    在Java 8中如何处理日期和时间 示例 1、在Java 8中获取今天的日期 示例 2、在Java 8中获取年、月、日信息 示例 3、在Java 8中处理特定日期 示例 4、在Java 8中判断两个日期是否相等 示例 5、在Java 8中检查像...
  • 使用键盘输入一个年份,并在控制台输出这一年,每个月1日是星期几。 求解答
  • 如何在Excel中得到两个日期相减的天数如何在Excel中得到两个日期相减的天数 有的小伙伴在使用Excel软件时,想要知道两个日期相减后的天数,但是却不知道使用什么公式,也不知道公式中的数据的含义,那么小编就来为大家...
  • oracle 日期相减

    千次阅读 2020-12-23 16:06:18
    oracle日期相减2012-02-10 12:18--MONTHS_BETWEEN(date2,date1)给出date2-date1的月份SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;MON_BETWEEN-----------9SQL>select ...
  • 日期类题目1、淘宝网店2、一周中的第几天3、美国节日4、计算日期到天数转换 一. 需要用到的相关知识 1. 日期类实现 主要是通过operator++()来计算两个日期之间相差的天数。具体实现看下面这篇博客:日期类模拟实现...
  • oracle 日期相减 转载

    2021-01-14 01:24:57
    转自http://hi.baidu.com/juanjuan_66/blog/item/cf48554c9331fbe6d62afc6a.htmloracle日期相减2012-02-10 12:18--MONTHS_BETWEEN(date2,date1)给出date2-date1的月份SQL> select months_between('19-12月-1999',...
  • 一年,一小时,一分等等 9、一年前后的日期 在上个例子中我们使用了LocalDate的plus()方法来给日期增加日周月,现在我们用minus()方法来找出一年前的那天 10、在java8中使用时钟 java8自带了Clock类,可以用来获取...
  • C语言 程序设计 节日查询和任务提醒系统万年历PAGE 64程序设计报告( 2010 / 2011 学年 第 二 学期)题 目:节日查询和任务提醒系统专 业 光信息科学与技术学 生 姓 名 史明霞,陈苏华,毛胤,张春龙,赵梁班 级 学 号...
  • 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,827
精华内容 730
热门标签
关键字:

一年的节日日期