java.lang.System类
获取系统当前时间
System类中的currentTimeMillis()long time = System.currentTimeMillis();System.out.println(time);
返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。称为时间戳
java.util.Date类与java.sql.Date类
java.util.Date类,表示特定的瞬间,精确到毫秒
java.sql.Date类继承于java.util.Date类
构造器
Date():使用无参构造器创建的对象可以获取本地当前时间。Date(long date):创建指定毫秒数的Date对象常用方法
getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。toString():把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。- 其它很多方法都过时了。
java.sql.Date对应着数据库中的日期类型的变量
如何实例化
//构造器一:Date():创建一个对应当前时间的Date对象Date date1 = new Date();System.out.println(date1.toString());//Sat Feb 16 16:35:31 GMT+08:00 2019System.out.println(date1.getTime());//1550306204104//构造器二:创建指定毫秒数的Date对象Date date2 = new Date(155030620410L);System.out.println(date2.toString());//创建java.sql.Date对象java.sql.Date date3 = new java.sql.Date(35235325345L);System.out.println(date3);//1971-02-13
如何将java.util.Date对象转换为java.sql.Date对象
//情况一:// Date date4 = new java.sql.Date(2343243242323L);// java.sql.Date date5 = (java.sql.Date) date4;//情况二:Date date6 = new Date();java.sql.Date date7 = new java.sql.Date(date6.getTime());
java.text.SimpleDateFormat类
概述
java.text.SimpleDateFormat 类是一个不与语言环境有关的方式来格式化和解析日期的具体类。
它允许进行格式化:日期文本、解析:文本日期
格式化
- public SimpleDateFormat() :默认的模式和语言环境创建对象
- public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象
public String format(Date date):方法格式化时间对象date
解析
public Date parse(String source):从给定字符串的开始解析文本,以生成 一个日期。
//实例化SimpleDateFormat:使用默认的构造器SimpleDateFormat sdf = new SimpleDateFormat();Date date = new Date();//格式化:日期 --->字符串String format = sdf.format(date);System.out.println(format);//解析:格式化的逆过程,字符串 ---> 日期String str = "19-12-18 上午11:43";Date date1 = sdf.parse(str);System.out.println(date1);
//按照指定的方式格式化和解析:调用带参的构造器// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa");SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//格式化String format = sdf.format(date);System.out.println(format);//2019-02-18 11:48:27//解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),//否则,抛异常Date date2 = sdf.parse("2020-02-18 11:48:27");System.out.println(date2);
java.util.Calendar(日历)类
概述
Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能。
实例化
- 方式一:创建其子类(GregorianCalendar)的对象
- 方式二:
调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
常用方法
Calendar calendar = Calendar.getInstance();//2.常用方法//get()int days = calendar.get(Calendar.DAY_OF_MONTH);//获取今天是这个月第几天System.out.println(days);System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//获取今天是今年第几天//set()//calendar可变性calendar.set(Calendar.DAY_OF_MONTH,22);//设置今天是这个月第22天days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);//add()calendar.add(Calendar.DAY_OF_MONTH,-3);days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);//getTime():日历类---> DateDate date = calendar.getTime();System.out.println(date);//setTime():Date ---> 日历类Date date1 = new Date();calendar.setTime(date1);days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);}
