java课堂笔记------日期API

Posted yuer629

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java课堂笔记------日期API相关的知识,希望对你有一定的参考价值。

		 * 默认创建出来的Date实例表示当前系统时间
		 Date date = new Date();
	
		 * 获取Date内部维护的long值
		 long l = date.getTime();
		 
		 * 支持传入long值的构造方法
		 * 创建的Date就表示该long值所表示的时间
	   Date now = new Date(1000*60*60*24);

		 * 也可以在现有的Date对象上调用setTime方法
		 * 将long值传入,使其表示这个时间
		 date.setTime(1000*60*60*24);
		
		
		
		
     * java.text.SimpleDateFormat
     * 该类的作用是使用给定的字符串格式在
     * Date与String之间进行相互转换。
     * 对于该类,需要掌握:
     * 1:会写日期格式字符串
     * 2:记住两个转换方法(String->Date,Date->String)

		 *构造的时间格式 yyyy-MM-dd HH:mm:ss
		 SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		 * String format(Date date)
		 * 按照创建SimpleDateFormat是指定的日期格式,
		 * 将当前给定的date对象表示的时间转换为字符串。
		 String str = sdf.format(now);
		 
		 
		 		
		 * Date parse(String str)
		 * 将给定的字符串按照该日期格式解析为Date对象并返回
		 String str = "2008-08-08 20:08:00";
		 SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		 Date date = sdf.parse(str);
	



     * java.util.Calendar
     * 日历类,用于操作时间。
     * 常用的是格里高利历法(阳历)
     * 默认创建出来的Calendar实现类的实例表示
     * 当前系统时间
 
 
		 * Calendar的getInstance可以根据当前系统所在
		 * 地区创建合适的实现类,通常是格里高利历法
		 Calendar calendar = Calendar.getInstance();


		 * 不能直观看到具体表示的时间。
		 System.out.println(calendar);
		
		
		 * calendar->Date
		 * Date getTime()
		 * Calendar提供的getTime方法可以将其表示的
		 * 时间以Date形式返回。
		Date date = calendar.getTime();
		

		 * Date->Calendar
		 * void setTime(Date date)
		 * Calendar提供了一个setTime()方法,可以使当前
		 * Calendar表示给定的date所表示的时间。
		 calendar.setTime(date);





     * Calendar提供了一个set方法,允许我们
     * 对当前Calendar的各个时间分量进行单独
     * 设定。

		 * 设置各个时间分量,
		 * 使其表示:2008/08/08 20:08:08
		 * 需要注意,设置了某个时间分量的值可能会
		 * 影响其他时间分量的值。
		 * 例如:设置了年,月,日可能会将星期几改变。
		
		//设置年份
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.YEAR, 2008);
		
		 * 设置月份 月份有常量对应,若使用数字从0开始。
		 * 即:0表示1月,1表示2月。。。
		calendar.set(Calendar.MONTH, 7);
		//设置日
		calendar.set(Calendar.DAY_OF_MONTH, 8);
		//设置时
		calendar.set(Calendar.HOUR_OF_DAY, 20);
		//设置分
		calendar.set(Calendar.MINUTE, 8);
		//设置秒
		calendar.set(Calendar.SECOND, 0);




		 
     * Calendar提供了一个get方法,可以获取
     * 给定的时间分量所对应的值
 
		Calendar calendar = Calendar.getInstance();
		
		//获取年
		int year = calendar.get(Calendar.YEAR);
		//获取月
		int month = calendar.get(Calendar.MONTH)+1;
		//获取日
		int day = calendar.get(Calendar.DATE);
		//获取星期
		int week = calendar.get(Calendar.DAY_OF_WEEK)-1;
		System.out.println("星期:"+(week==1?7:week-1));
		
		
		 * Calendar提供了一个方法,可以获取给定的时间分量
		 * 在当前Calendar表示的日期中所允许的最大值。
		 * 查看当月的月底
		
		int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println("当月共:"+days+"天");
		
		 * 今年共多少天?
		days = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
		System.out.println("今年共:"+days+"天");






     * Calendar提供了一个add方法,用来计算时间
     * void add(int field,int value)
     * 对指定的时间分量加上给定的值,若value是负数,则
     * 是减去指定的值

		 Calendar calendar = Calendar.getInstance();
		
		 * 查看3年零2个月又25天后是哪天?
		 calendar.add(Calendar.YEAR, 3);
		 calendar.add(Calendar.MONTH, 2);
		 calendar.add(Calendar.DAY_OF_YEAR, 25);
	
		 //减去4年
		 calendar.add(Calendar.YEAR, -4);
	

  


* 默认创建出来的Date实例表示当前系统时间 Date date = new Date(); * 获取Date内部维护的long值 long l = date.getTime();  * 支持传入long值的构造方法 * 创建的Date就表示该long值所表示的时间   Date now = new Date(1000*60*60*24);
* 也可以在现有的Date对象上调用setTime方法 * 将long值传入,使其表示这个时间 date.setTime(1000*60*60*24);     * java.text.SimpleDateFormat     * 该类的作用是使用给定的字符串格式在     * Date与String之间进行相互转换。     * 对于该类,需要掌握:     * 1:会写日期格式字符串     * 2:记住两个转换方法(String->Date,Date->String)
*构造的时间格式 yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); * String format(Date date) * 按照创建SimpleDateFormat是指定的日期格式, * 将当前给定的date对象表示的时间转换为字符串。 String str = sdf.format(now);   * Date parse(String str) * 将给定的字符串按照该日期格式解析为Date对象并返回 String str = "2008-08-08 20:08:00"; SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse(str);


     * java.util.Calendar     * 日历类,用于操作时间。     * 常用的是格里高利历法(阳历)     * 默认创建出来的Calendar实现类的实例表示     * 当前系统时间   * Calendar的getInstance可以根据当前系统所在 * 地区创建合适的实现类,通常是格里高利历法 Calendar calendar = Calendar.getInstance();

* 不能直观看到具体表示的时间。 System.out.println(calendar); * calendar->Date * Date getTime() * Calendar提供的getTime方法可以将其表示的 * 时间以Date形式返回。Date date = calendar.getTime();
* Date->Calendar * void setTime(Date date) * Calendar提供了一个setTime()方法,可以使当前 * Calendar表示给定的date所表示的时间。 calendar.setTime(date);




     * Calendar提供了一个set方法,允许我们     * 对当前Calendar的各个时间分量进行单独     * 设定。
* 设置各个时间分量, * 使其表示:2008/08/08 20:08:08 * 需要注意,设置了某个时间分量的值可能会 * 影响其他时间分量的值。 * 例如:设置了年,月,日可能会将星期几改变。//设置年份Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, 2008); * 设置月份 月份有常量对应,若使用数字从0开始。 * 即:0表示1月,1表示2月。。。calendar.set(Calendar.MONTH, 7);//设置日calendar.set(Calendar.DAY_OF_MONTH, 8);//设置时calendar.set(Calendar.HOUR_OF_DAY, 20);//设置分calendar.set(Calendar.MINUTE, 8);//设置秒calendar.set(Calendar.SECOND, 0);



      * Calendar提供了一个get方法,可以获取     * 给定的时间分量所对应的值 Calendar calendar = Calendar.getInstance();//获取年int year = calendar.get(Calendar.YEAR);//获取月int month = calendar.get(Calendar.MONTH)+1;//获取日int day = calendar.get(Calendar.DATE);//获取星期int week = calendar.get(Calendar.DAY_OF_WEEK)-1;System.out.println("星期:"+(week==1?7:week-1)); * Calendar提供了一个方法,可以获取给定的时间分量 * 在当前Calendar表示的日期中所允许的最大值。 * 查看当月的月底int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);System.out.println("当月共:"+days+"天"); * 今年共多少天?days = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);System.out.println("今年共:"+days+"天");





     * Calendar提供了一个add方法,用来计算时间     * void add(int field,int value)     * 对指定的时间分量加上给定的值,若value是负数,则     * 是减去指定的值
Calendar calendar = Calendar.getInstance(); * 查看3年零2个月又25天后是哪天? calendar.add(Calendar.YEAR, 3); calendar.add(Calendar.MONTH, 2); calendar.add(Calendar.DAY_OF_YEAR, 25); //减去4年 calendar.add(Calendar.YEAR, -4);

 



























以上是关于java课堂笔记------日期API的主要内容,如果未能解决你的问题,请参考以下文章

java课堂笔记------日期API

Java8学习笔记--日期/时间(Date Time)API指南

java笔记------日期API

学习笔记:python3,代码片段(2017)

读Java实战(第二版)笔记06_新的日期和时间API

Java学习笔记4.5.2 日期时间 - JDK8新增日期与时间类