精华内容
下载资源
问答
  • 时间类和日期类派生出时间日期类

    千次阅读 2014-09-16 21:16:08
    今天再写一个多重继承的应用实例,时间类和日期类派生出时间日期类 程序代码 #include using namespace std; class Date//日期类 { public: //构造函数 Date(int y = 0, int m = 0, int d = 0); //设置...

    今天再写一个多重继承的应用实例,时间类和日期类派生出时间日期类

    程序代码

    #include <iostream>
    
    using namespace std;
    
    class Date//日期类
    {
    public:
    
        //构造函数
        Date(int y = 0, int m = 0, int d = 0);
    
        //设置日期
        void SetDate(int y,int m,int d);
    
        //打印日期
        void PrintDate()
        {
            cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
        }
    
    protected:
        int year;//年
        int month;//月
        int day;//日
    };
    
    //构造函数(使用初始化表初始化数据成员)
    Date::Date(int y, int m, int d):year(y),month(m),day(d){}
    
    //设置日期
    void Date::SetDate(int y, int m, int d)
    {
        year = y;
        month = m;
        day = d;
    }
    
    class Time//时间类
    {
    public:
        //构造函数
        Time(int h = 0, int m = 0, int s = 0);
    
        //设置时间
        void SetTime(int h, int m, int s);
    
        //打印时间
        void PrintTime();
    
    protected:
        int hour;//时
        int minute;//分
        int second;//秒
    };
    
    //构造函数
    Time::Time(int h, int m, int s):hour(h), minute(m), second(s){}
    
    //设置时间
    void Time::SetTime(int h, int m, int s)
    {
        hour = h;
        minute = m;
        second = s;
    }
    
    //打印时间
    void Time::PrintTime()
    {
        cout<<hour<<":"<<minute<<":"<<second<<endl;
    }
    
    class TimeDate : public Date, public Time
    {
    public:
        //构造函数
        TimeDate(int y, int m, int d, int h, int mm, int s);
    
        //打印时间和日期
        void PrintDateTime();
    };
    
    //构造函数
    TimeDate::TimeDate(int y, int m, int d, int h, int mm, int s):
        Date(y, m, d), Time(h, mm, s){}
    
    //打印时间和日期
    void TimeDate::PrintDateTime()
    {
        Date::PrintDate();
        Time::PrintTime();
    }
    
    void main()
    {
        Date d;//定义一个日期对象d
        d.SetDate(2014, 9, 16);//设置日期
        d.PrintDate();//打印日期
    
        Time t;//定义一个时间对象t
        t.SetTime(16, 3, 30);//设置时间
        t.PrintTime();//打印时间
    
        //定义一个时间日期对象
        TimeDate td(2014, 9, 16, 15, 39, 0);
    
        //打印时间和日期
        td.PrintDateTime();
    
        system("pause");
    }


    执行结果:


    展开全文
  • JAVA中的日期类和日历类

    千次阅读 2021-03-28 22:49:11
    JAVA中的日期类和日历类 1.日期类 1.java.util.Date Data的每一个实例用于表示一个具体的时间内部维护了一个long值,记录的是自1970年1月1日00:00:00到现在的时间。 public class DataDemo1 { public static void...

    JAVA中的日期类和日历类

    1.日期类

    1.java.util.Date

    Data的每一个实例用于表示一个具体的时间内部维护了一个long值,记录的是自1970年1月1日00:00:00到现在的时间。

    public class DataDemo1 {
    	public static void main(String[] args) {
    		Date date=new Date();
    		System.out.println(date);
    
    		long time=date.getTime();//毫秒数
    		long year=time/1000/60/60/24/365;
    		System.out.println(year);
    		
    		//long类型转换为Date类型,Date提供了setTime()方法
    		date.setTime(time);
    		System.out.println(date);
    		
    		//求明天到现在的这个点的时间
    		long time1=date.getTime()+24*60*60*1000;
    		date.setTime(time1);
    		System.out.println(date);
    	}
    }
    
    执行结果:

    Sun Mar 28 21:20:28 CST 2021
    51
    Sun Mar 28 21:20:28 CST 2021
    Mon Mar 29 21:20:28 CST 2021

    2.日期转换格式:
    一.SimpleDateFormat提供了一个format(Date date)方法可以将日期格式转换为字符串类型
    public class SimpleDateFormat_format {
    	public static void main(String[] args) {
    		Date now=new Date();
    		System.out.println(now);
    		/*
    		 * 2021-01-21 15:23:45
    		 * yyyy-MM-dd HH:mm:ss
    		 * 
    		 * HH:24小时制
    		 * hh:12小时制
    		 */
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	
    		String str=sdf.format(now);
    		System.out.println(str);
    	}
    }
    
    执行结果:

    Sun Mar 28 22:13:31 CST 2021
    2021-03-28 22:13:31

    二.SimpleDateFormat提供了方法parse(String str)将日期字符串转化为Date类型
    public class SimpleDateFormat_parse {
    	public static void main(String[] args) {
    		String str="2021-01-20 15:36:40";
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		try {
    			Date date=sdf.parse(str);
    			System.out.println(date);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    
    执行结果:

    Wed Jan 20 15:36:40 CST 2021

    3.案例

    程序启动后,要求用户用户输入自己的生日,格式如:2002-08-08,然后通过程序计算,输出至今为止你一共活了多少天?再输出自己出生的那一天的10000天的纪念日是哪一天?

    public class Test {
    	public static void main(String[] args) {
    		Scanner scanner=new Scanner(System.in);
    		System.out.println("请输入自己的生日:");
    		String birth=scanner.next();
    		//将birth字符串转换为Data
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    		try {
    			Date date=sdf.parse(birth);
    			System.out.println(date);
    			//生日那天到1970年的毫秒数
    			long birthtime=date.getTime();
    			//获取当前时间到1970的毫秒数
    			Date now=new Date();
    			long nowtime=now.getTime();
    			//出生到现在的毫秒数
    			long time=nowtime-birthtime;
    			//将time毫秒数转化为天数
    			long days=time/1000/60/60/24;
    			System.out.println("你一共活了;"+days+"天!");
    			
    			long sumtime=birthtime+10000L*60*60*24*1000;
    			date.setTime(sumtime);
    			System.out.println(date);
    			//将date类型转换成string类型
    			String str=sdf.format(date);
    			System.out.println("纪念日;"+str);
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    
    执行结果:

    请输入自己的生日:
    1999-06-04
    Fri Jun 04 00:00:00 CST 1999
    你一共活了;7968天!
    Tue Oct 20 00:00:00 CST 2026
    纪念日;2026-10-20

    2.日历类

    1.Calendar本身是一个抽象类,定义了日历类操作时间的相关方法,其提供了一个静态方法getInstance(),可以根据系统所在的地区获取一个使用的实现类,大部分地区获取的都是阳历,也就是GregorianCalendar(格里高里历,即通用的阳历)
    2.日历类默认也表示当前系统的时间;
    public class CalenderDemo1 {
    	public static void main(String[] args) {
    		//日历类默认也表示当前系统的时间
    		Calendar calendar=Calendar.getInstance();
    		System.out.println(calendar);
    		/*
    		 * Calender转化为date类型
    		 * Calender提供了getTime()将calendar类型转化为Date类型
    		 * 
    		 */
    		Date date=calendar.getTime();
    		System.out.println(date);
    		
    		
    		long time1=date.getTime();
    		time1=time1+24*60*60*1000;
    		date.setTime(time1);
    		
    		/*
    		 * Date转换为Calendar类型
    		 * Calendar提供了将setTime()将Date类型转换为Calendar类型
    		 */
    		calendar.setTime(date);
    		System.out.println(calendar);
    		
    		
    	}
    }
    
    3.Calendar提供了get(int field)返回int类型,根据给定的时间分量(各种时间单位)获取对应的值,时间分量是一个int值,在这里不需要记忆数字,因为Calendar提供了对应的常量。
    public class CalenderDemo2 {
    	public static void main(String[] args) {
    		Calendar calendar=Calendar.getInstance();
    		//获取年
    		int year=calendar.get(Calendar.YEAR);
    		System.out.println(year);//2021
    		//获取月
    		int month=calendar.get(Calendar.MONTH);
    		System.out.println(month);//2
    		//获取日
    		int day=calendar.get(Calendar.DATE);
    		System.out.println(day);//28
    		//获取小时
    		int h=calendar.get(Calendar.HOUR_OF_DAY);
    		System.out.println(h);//21
    		//获取分
    		int m=calendar.get(Calendar.MINUTE);
    		System.out.println(m);//51
    		//获取秒
    		int s=calendar.get(Calendar.SECOND);
    		System.out.println(s);//24
    		
    		//今天是今年的第几天
    		int d=calendar.get(Calendar.DAY_OF_YEAR);
    		System.out.println(d);//87
    		
    		//今天是这个周的第几天
    		int  w=calendar.get(Calendar.DAY_OF_WEEK);
    		System.out.println(w);//1
    		
    		//查看今年共多少天?
    		int days=calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
    		System.out.println(days);//365
    		//查看本月有多少天?
    		int months=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
    		System.out.println(months);//31
    	}
    }
    
    4.设置指定时间分量对应的值
    public class CalenderDemo3 {
    	public static void main(String[] args) {
    		Calendar calendar=Calendar.getInstance();
    		//设置2008年
    		//calendar 提供了set()方法
    		calendar.set(Calendar.YEAR,2008 );
    		//转换为Date类型
    		Date date=calendar.getTime();
    		System.out.println(date);
    		
    		//设置08月
    		calendar.set(Calendar.MONTH,Calendar.AUGUST);
    		System.out.println(calendar.getTime());
    		
    		//设置08号
    		calendar.set(Calendar.DATE, 8);
    		System.out.println(calendar.getTime());
    		
    		//设置时
    		calendar.set(Calendar.HOUR_OF_DAY,20);
    		System.out.println(calendar.getTime());
    		
    		//设置分
    		calendar.set(Calendar.MINUTE,8);
    		System.out.println(calendar.getTime());
    		
    		//设置秒
    		calendar.set(Calendar.SECOND,8);
    		System.out.println(calendar.getTime());
    		
    		//设置为本周的第五天
    		calendar.set(Calendar.DAY_OF_WEEK, 5);
    		System.out.println(calendar.getTime());
    	}
    }
    
    执行结果:

    Fri Mar 28 22:05:23 CST 2008
    Thu Aug 28 22:05:23 CST 2008
    Fri Aug 08 22:05:23 CST 2008
    Fri Aug 08 20:05:23 CST 2008
    Fri Aug 08 20:08:23 CST 2008
    Fri Aug 08 20:08:08 CST 2008
    Thu Aug 07 20:08:08 CST 2008

    5把字符串日期设置为Calendar
    public class CalenderDemo4 {
    	public static void main(String[] args) {
    		String str="2000-08-10 20:08:08";
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		try {
    			//把字符串转化为date形式
    			Date date=sdf.parse(str);
    			//把字符串日期设置到Calendar
    			Calendar calendar=Calendar.getInstance();
    			//将date转化为Calendar形式
    			calendar.setTime(date);
    			System.out.println(calendar);
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    
    6.对指定的时间分量加上指定的值,若给定的值是负数则是减法
    计算2年4个月零18天后所在的周的周一是那一天?(当前时间:2021/3/28)
    public class CalenderDemo5 {
    	public static void main(String[] args) {
    		Calendar calendar=Calendar.getInstance();
    		//Calendar提供了add()方法来对日期的增加或减少
    		//System.out.println(calendar);
    		
    		//加两年
    		calendar.add(Calendar.YEAR,2);
    		//加四个月
    		calendar.add(calendar.MONTH, 4);
    		//加18天
    		calendar.add(Calendar.DAY_OF_YEAR,18);
    		//求在当前周周一是那一天?
    		calendar.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
    		//System.out.println(calendar);
    		
    		//以下为了方便看具体字符串日期形式
    		Date date=calendar.getTime();
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    		//将date转换为字符串形式
    		String str=sdf.format(date);
    		System.out.println(str);
    		
    	}
    }
    
    执行结果:

    2023-08-14

    7.案例:

    计算商品促销日期:

    促销日期规则:商品过期日的前两周的周三为促销日。

    启动程序后,要求用户输入商品的生产日期如:2020-08-09

    再输入保质期 如:28天

    public class Test2 {
    	public static void main(String[] args) {
    		try {
    			Scanner scanner=new Scanner(System.in);
    			System.out.println("请输入生产日期:");
    			String dateStr=scanner.next();
    			System.out.println("请输入保质期:");
    			int days=scanner.nextInt();
    			
    			//将字符串转化为date
    			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    			Date date=sdf.parse(dateStr);
    			
    			//将date类型转化为calendar类型
    			Calendar calendar=Calendar.getInstance();
    			calendar.setTime(date);
    			//System.out.println(calendar);
    			
    			//计算过期日
    			calendar.add(Calendar.DAY_OF_YEAR, days);
    			//System.out.println(calendar);
    			
    			//计算过期日的前两周
    			calendar.add(Calendar.DAY_OF_YEAR,-14);
    			//System.out.println(calendar);
    			
    			//设置促销日那周的周三是那一天?
    			calendar.set(calendar.DAY_OF_WEEK,Calendar.WEDNESDAY);
    			
    			//将calendar类型转化为date类型
    			Date d=calendar.getTime();
    			
    			//将date类型转化为字符串类型
    			String str=sdf.format(d);
    			System.out.println("该商品的促销日期为:"+str);
    			
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    
    执行结果:

    请输入生产日期:
    2021-03-28
    请输入保质期:
    30
    该商品的促销日期为:2021-04-14

    展开全文
  • PHP日期类之DateTime

    千次阅读 2018-11-04 16:49:28
    PHP日期类之DateTime

    PHP5.5起,DateTime类实现DateTimeInterface接口。

    DateTime包括12个常量和除DateTimeInterface接口中定义的方法外的12个方法:

    __construct:接受两个参数,一个是可选的日期时间字符串,如果字符串为now,表示获取当前时间。第二个参数是可选的DateTimeZone对象,用于指定获取哪个时区的时间,如果不传入此参数则使用默认为当前时间。当时间字符串为now时,如果同时传入了DateTimeZone对象,则会获取指定时区的当前时间。如果日期时间字符串为Unix时间戳或者已经包含了时区信息,则会忽略传入的DateTimeZone对象以及当前时区,返回一个新的DateTime对象,如果失败返回false。PHP5.3起,如果日期时间字符串格式错误会抛出异常,在此之前则是产生一个错误。PHP7.1起,微秒部分不再是0000而是返回真实的微秒数据。PHP5.2起,可用UNIX时间戳做为构造函数的参数生成新的DateTime对象。

    add:增加一定的时间(天、月、年、小时、分钟以及秒)。接受一个DateInterval对象,将DateInterval对象的时间加到DateTime对象上。返回被修改的DateTime对象,若失败则返回false。

    createFromFormat:静态方法,根据指定的格式解析日期时间字符串。接受三个参数,第一个为格式字符串,第二个参数为日期时间字符串,第三个参数为可选的DateTimeZone对象,用于指定获取哪个时区的时间,如果不传入此参数,且日期时间字符串中不包含时区信息则使用默认为当前时间。如果日期时间字符串为Unix时间戳或者已经包含了时区信息,则会忽略传入的DateTimeZone对象以及当前时区。如果格式字符串中存在不可识别的字符,会导致解析失败,并在返回的结果中附加一个错误信息,可以通过getLastErrors方法查看解析是否存在错误。返回一个DateTime对象,如果失败返回false。

    getLastErrors:静态方法,获取解析日期时间字符串的过程中发生的警告和错误信息。返回一个数组,包含警告数量,警告信息,错误数量,错误信息,其中警告信息与错误信息是数组,数组的键为产生警告或错误的字符位置,值为具体警告或错误信息。

    modify:修改日期时间对象的值,根据传入的日期时间字符串,修改DateTime对象的值。

    __set_state魔术方法

    setDate:设置DateTime对象的日期,接受三个参数,分别为年、月、日。返回被修改的DateTime对象,失败则返回false。

    setISODate:以ISO8601的格式设置日期,使用周和日做偏移量而不是月和日。接受三个参数,第一个是年,第二个是周,第三个是可选的每周的第几天,默认为1。返回被修改的DateTime对象,失败则返回false。

    setTime:设置DateTime对象的时间,接受四个参数,分别为时、分、秒、微秒(PHP7.1起),其中秒和微秒为可选的,默认为0。返回被修改的DateTime对象,失败则返回false。

    setTimestamp:以Unix时间戳的方式设置DateTime对象的日期和时间。返回被修改的DateTime对象,失败则返回false。

    setTimezone:设置DateTime对象的时区。接受一个DateTimeZone对象,表示要设置的时区。返回被修改的DateTime对象,失败则返回false。

    sub:与add相反,减去一定的时间(天、月、年、小时、分钟以及秒)。接受一个DateInterval对象,将DateInterval对象的时间加到DateTime对象上。返回被修改的DateTime对象,若失败则返回false。

    <?php
    $date=new DateTime("2018-1-2");
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date=new DateTime("@1468531584");
    echo $date->format("Y-m-d H:i:s"),"\n";
    $interval=new DateInterval("P10D");
    $date->add($interval);
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date=DateTime::createFromFormat("Y-m-j","2018-11-02");
    if($date!=false){
        echo $date->format("Y-m-d H:i:s"),"\n";
    }
    $date->modify("+1 days");
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date->setDate(2019,1,1);
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date->setISODate(2019,10,3);
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date->setTime(22,18,30);
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date->setTimestamp(1485835131);
    echo $date->format("Y-m-d H:i:s TP"),"\n";
    $date->setTimezone(new DateTimeZone('Pacific/Chatham'));
    echo $date->format("Y-m-d H:i:s TP"),"\n";
    $interval=new DateInterval("P5D");
    $date->sub($interval);
    echo $date->format("Y-m-d H:i:s"),"\n";
    $date=DateTime::createFromFormat("Y-m-j","2018年1月2日");
    var_dump(DateTime::getLastErrors());
    ?>
    展开全文
  • Python日期类的实现

    千次阅读 2018-01-16 09:38:12
    设计一个日期类,能够实现与日期有关的有关操作,如计算两个日期之间的间隔,指定日期之后若干天所对应的日期,比较两个日期的大小等。可自行拓展其他功能。 更多内容访问omegaxyz.com 拓展功能: ①判断该日期是...

    Python日期时间函数。所有日期、时间的api都在datetime模块内。但是我们有时想用Python学习一下面向对象于是:

    设计一个日期类,能够实现与日期有关的有关操作,如计算两个日期之间的间隔,指定日期之后若干天所对应的日期,比较两个日期的大小等。可自行拓展其他功能。
    更多内容访问omegaxyz.com

    拓展功能:
    ①判断该日期是一年中的第几天。
    ②按照YMD(year-month-day)、MDY、DMY和default格式打印日期。
    ③利用吉姆拉尔森公式计算指定日期所对应是星期几。
    ④计算两个日期的间隔。
    ⑤给出指定日期后多少天是那一天。
    ⑥初始化类的时候检查是否合法。

    说明文档(设计思路):
    ①类设计私有变量normal_year和leap_year,在初始化类的时候将检查日期是否合法。如果不合法将返回错误。
    ②比较两个日期大小时即compare函数,我摒弃了传统的日期比较方法,直接将日期转化为int类型,比较两个数字大小。
    ③计算日期间隔(cal_interval)和增加天数(add_days)函数采用传统的日期操作方法。
    ④在计算日期是星期几的时候采用了基姆拉尔森算法。
    ⑤在检查类是否正确时对闰年和非法变量等情况均综合考虑。
    ⑥按照YMD(year-month-day)、MDY、DMY和default格式打印日期。

    代码:

    class Date:
        def __init__(self, year, month, day):
            self.__normal_year = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
            self.__leap_year = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
            self.not_leap = 1
            if self.check(year, month, day):
                self.__year = year
                self.__month = month
                self.__day = day
            else:
                print('日期输入错误!!!')
    
        def check(self, year, month, day):
            if year < 0:
                return False
            if month > 12:
                return False
            if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
                self.not_leap = 0
                if day > self.__leap_year[month - 1]:
                    return False
            else:
                if day > self.__normal_year[month - 1]:
                    return False
            return True
    
        def get_year(self):
            return self.__year
    
        def set_year(self, year):
            self.__year = year
    
        def get_month(self):
            return self.__month
    
        def set_month(self, month):
            self.__month = month
    
        def get_day(self):
            return self.__day
    
        def set_day(self, day):
            self.__day = day
    
        def compare(self, temp):
            cur_date = int(str(self.__year) + str(self.__month) + str(self.__day))
            temp_date = int(str(temp.get_year()) + str(temp.get_month()) + str(temp.get_day()))
            if cur_date > temp_date:
                return 1
            elif cur_date == temp_date:
                return 0
            else:
                return -1
    
        def cal_interval(self, date):
            interval = 0
            myself = self
            if self.compare(date) == 0:
                pass
            if self.compare(date) < 0:
                date, myself = myself, date
            while myself.compare(date) != 0:
                date.add_days(1)
                interval += 1
            return interval + 1
    
        def add_days(self, plus_day):
            while plus_day != 0:
                if self.not_leap == 0:
                    temp = self.__leap_year
                else:
                    temp = self.__normal_year
                if temp[self.get_month()-1] >= self.get_day() + plus_day:
                    self.__day = self.get_day() + plus_day
                    plus_day = 0
                else:
                    total = 0
                    for i in range(self.__month, 12):
                        total += temp[i]
                    plus_day -= temp[self.__month-1] - self.__day
                    if total >= plus_day:
                        temp_month = self.__month+1
                        while plus_day != 0:
                            if plus_day <= temp[temp_month-1]:
                                self.__day = plus_day
                                plus_day = 0
                            else:
                                plus_day -= temp[temp_month-1]
                            temp_month += 1
                            self.__month += 1
                    else:
                        plus_day -= total + 1
                        self.__year += 1
                        self.__month = 1
                        self.__day = 1
    
        def printf(self, form):
            if form == 'MDY':
                print('日期: %d-%d-%d ' % (self.__month, self.__day, self.__year))
            elif form == 'YMD':
                print('日期: %d-%d-%d ' % (self.__year, self.__month, self.__day))
            elif form == 'DMY':
                print('日期: %d-%d-%d ' % (self.__day, self.__month, self.__year))
            else:
                print('日期: %d-%d-%d ' % (self.__year, self.__month, self.__day))
    
        def get_day_in_the_year(self):
            sum_ = 0
            if self.not_leap:
                temp = self.__normal_year
            else:
                temp = self.__leap_year
            for i in range(self.__month - 1):
                sum_ += temp[i]
            return sum_ + self.__day
    
        def get_week(self):
            week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
            # 基姆拉尔森计算公式
            if self.__month == 1 or self.__month == 2:
                temp = int((self.__day + 2 * (self.__month + 12) + 3 * ((self.__month + 12) + 1) / 5 + (self.__year - 1) +
                            (self.__year - 1) / 4 - (self.__year - 1) / 100 + (self.__year - 1) / 400) % 7)
                print(week[temp])
            else:
                temp = int((self.__day + 2 * self.__month + 3 * (self.__month + 1) / 5 + self.__year + self.__year / 4 -
                            self.__year / 100 + self.__year / 400) % 7)
                print(week[temp])
    
    
    day1 = Date(1998, 5, 5)
    day1.printf("default")
    day1.get_week()
    day2 = Date(2017, 12, 16)
    day2.printf("default")
    day2.get_week()
    print(day1.cal_interval(Date(2017, 12, 16)))
    day3 = Date(2017, 2, 29)
    print(Date(2017, 12, 31).get_day_in_the_year())
    print(Date(2008, 3, 1).get_day_in_the_year())

    这里写图片描述
    更多内容访问omegaxyz.com

    网站文章采用知识共享许可协议BY-NC-SA4.0授权
    © 2018 • OmegaXYZ-版权所有 转载请注明出处

    展开全文
  • C++日期类Date的实现

    千次阅读 2016-10-17 09:27:15
    在学C++类的时候,日期类是一个很基础也很重要的类,所以有必要实现一下。 常规日期类的本身并不复杂,实现的过程主要涉及到了一些构造函数,拷贝构造函数,以及各种运算符的重载等,而难点主要在于如何保证日期的...
  • Java-日期类(JDK8)

    千次阅读 2021-02-27 21:45:33
    JDK8中新的日期类api。在之前虽然也有Date和Calendar日历类,但是处理日期有一定不方便,而且有偏移性(从0开始),并且不是线程安全的,所以JDK8中的新特性之一就是新的日期类,这简化了日期时间的管理。
  • Android - 日期类的使用

    千次阅读 2015-08-18 14:48:05
    Android的日期类, Date和Calendar, Date显示, Calendar计算. 处理顺序: String -> Date -> Calendar. 示例实现了几个比较常见的方法: 日期相隔天数, 字符串转换Date类, 获取之前的日期, 判断是否超过今天等....
  • 【Java设计一个类(日期类

    千次阅读 2019-05-20 22:30:52
    传 年、月、日 构造日期类 * 2. 在当前日期上增加多少天 * 3. 在当前日期上减少多少天 * 4. 可以返回字符串 String 的方法 ”2019-05-20“ * 5. 加一些限制,年支持的范围 [1900, 2100] * 6. 如果给定两个日期...
  • 设计一个日期类Date

    万次阅读 2016-12-03 16:42:49
    //用C++++设计一个日期类Date,该类用于表示日期值(年、月、日)。 //要求除了能够通过相应的成员函数设置和获取日期值外,还能够实现将日期加一天的操作。 #include #include using namespace std; class date ...
  • Java YearMonth日期类应用

    千次阅读 2018-08-15 13:09:14
    Java YearMonth日期类应用 在项目中会遇到仅需要存取年月,由于数据库一般不支持不完整日期格式,因此日期之间转换比较麻烦。本文通过介绍YearMonth类实现年月日期存取过程。 1. 概述 YearMonth是不可变的日期...
  • java的日期类Date和日期的格式化

    万次阅读 2018-03-16 22:30:20
    -----------------java的日期类Date和日期的格式化-------------------java.util 类 Datejava.lang.Object java.util.Date所有已实现的接口: Serializable, Cloneable, Comparable&lt;Date&gt; 直接已知...
  • 日期类Date控制台应用程序设计C#

    千次阅读 2020-03-19 09:59:15
    日期类Date控制台应用程序设计 小咸鱼终于又准备敲代码辽呜呜,什么王者荣耀,耽误我学习hhh 实验要求 实验要求:写出类 Date 的定义代码,含有如图所示的 3 个字段及 4 个方法。 实验目的 实验目的: 学会自定义类...
  • Calendar的功能要比Date强大很多,可以方便的进行日期的计算,获取日期中的信息时考虑了时区等问题。而且在实现方式上也比Date要复杂一些 1、Calendar对象的创建 Calendar是一个抽象,由于Calendar是...
  • Java时间与日期类(Calendar类的方法应用与打印日历) 日期与时间类 (以下所有文字和代码均为手敲,原本应该昨天已经写好了一半了。没想到一关机自动保存的都不见了,然后今天再敲一遍【有什么不对或者敲错的地方...
  • Java中日期类,日历类的使用

    千次阅读 2016-07-13 17:36:37
    JAVA中的日期类为:Date类 日历类:Calendar类 下面,让我们看看Date类的用法吧! import java.util.*; import java.text.*; public class DateTest { public static void main(String[] args) { Date ...
  • java日期类封装及MyMy97DatePicker日期插件使用总结,值得自学者一看,本人自学总结。
  • 8、Java基础---创建日期类

    千次阅读 2019-09-15 19:39:51
    创建日期类 一、日期类 日期是通过年、月、日这三项来表示的。我们来创建一个日期类,将这些项定义为int型字段;如果将类命名为Day, 只考虑字段的话,可以像下面这样进行声明;类Day的内容如图所示: 将所有的...
  • 日期类Date

    千次阅读 2021-04-11 20:06:11
    Date内部维护着一个long值,保存的是自1970-1-1至今的毫秒值。 废话不多说,先来热身下 // Date转String Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");...
  • c++日期类(Date类)

    千次阅读 2018-03-24 10:51:05
    1.Date中的构造函数构造函数的作用可以说是对变量的初始化(Init)如果我们不写构造函数,系统会生成默认的构造函数,但是对于date来说,这里的默认构造函数什么都不做,如果你创建了一个 Date d1,系统调用了默认...
  • 【C++】c++日期类Date

    千次阅读 2015-10-03 14:49:21
    c++日期类Date
  • java中的日期类

    万次阅读 2013-05-05 21:49:55
    最近关于java中的日期类不是特别清楚,就google了一下,找了一些大神的文章看了一下,然后整理一下 java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类 一、Date类(该类...
  • 定义日期类,时间类和日期时间综合类,重载+,-,++,--,=,>=,,==,!=等运算符号,可以设置时间日期,比较时间和日期的大小,进行时间,日期对象的运算,并输出多种格式的结果. 程序要求:  (1)给定日期输出星期几。√ ...
  • title: Java8-08-java8 日期类 date: 2019-2-27 15:48:49 +0800 categories: [Java] tags: [java, jdk8, sh] published: true Java SE 8 Date and Time 为什么需要? Java开发人员的一个长期困扰是对普通开发人员的...
  • 设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。 **【要求】: 为Date类定义如下运算符重载函数: Date operator+(int ...
  • JAVA中时间日期类的固定格式

    千次阅读 2018-09-06 16:51:01
    SimpleDateFormat 简单格式化时间类 //此类用于大多数开发,即只要...“将日期类对象转成时间字符串” //此方式在开发中运用较多 Date d = new Date(); //获取当前时间对象 SimpleDateFormat sdf = new SimpleDa...
  • 【C++题目】定义一个日期类Date

    千次阅读 2020-05-28 09:46:33
    题目内容:定义一个日期类Date,包含年、月、日三个数据成员(int),定义带有3个参数的构造函数,以及一个求日期是当年的第几天的成员函数和输出日期的成员函数,日期的显示格式为年/月/日。编写主函数进行测试。 ...
  • 定义一个日期类Date

    千次阅读 2015-04-01 19:27:55
    【3.24】定义一个日期类Date,该类对象存放一个日期,可以提供的操作有: void printDate();  void GetYear();  void GetMonth();  void GetDay();  void SetDate(int y,int m,intd); 还允许对日期作以下...
  • 设计一个CDate日期类 2.实验目的 熟悉类和对象的设计,能够设计出类 3.要求: CData类中包含年月日,能够输入输出,并实现加减天数操作。 内容如下: /* 没有考虑很多异常输入输出情况 肯定会有不足,欢迎有...
  • 题目要求:设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,包括某日期加上指定天数、某日期减去指定天数、两个日期相差的天数等。 代码仅供参考 #include<iostream> #include&...
  • 利用java日期类生成数据仓库维度表

    千次阅读 2014-10-11 20:19:54
    整理java日期类,利用其在数据仓库日期维度表;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 600,724
精华内容 240,289
关键字:

日期类