目录
二、java.util.Date和子类java.sql.Date
1.java.util.Date 表示特定的瞬间,精确到毫秒
2.java.sql.Date 是java.util.Date的子类。它是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用。
1.作用:此类的作用是用于格式化Date类或解析字符串的具体类
一、System类中的currentTimeMills()
1.System类提供的 public static native long currentTimeMillis(); 的这个方法,用来返回当前时间与1970年1月1日0时0分0秒以毫秒为单位的时间差。
>此方法适用于计算时间差,例如一段代码的运行所花费的时间
public static void main(String[] args) {
long currentTimeMillis = System.currentTimeMillis();
System.out.println(currentTimeMillis);
}
2.计算世界时间的主要标准有:
>UTC(Coordinated Universal Time) 世界标准时间
>GMT(Greeenwich Mean Time) 格林威治标准时间
>CST(Central Standard Time) 美国中部地区标准时间
二、java.util.Date和子类java.sql.Date
1.java.util.Date 表示特定的瞬间,精确到毫秒
1.1构造器:
Date():使用无参构造器创建的对象可以获取本地当前时间
Date(long time):分配一个 Date
对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日 00:00:00 GMT起的指定毫秒数。
1.2常用方法:
long getTime():返回自1970年1月1日以来,由 Date
对象表示的00:00:00 GMT的毫秒数。
toString():把此对象转换为以下形式的字符串:Thu Jan 02 10:36:16 CST 2020
2.java.sql.Date 是java.util.Date的子类。它是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用。
2.1构造器:
Date(long time):分配一个 Date
对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日 00:00:00 GMT起的指定毫秒数。
2.2常用方法:
long getTime():返回自1970年1月1日以来,由 Date
对象表示的00:00:00 GMT的毫秒数。
void setTime():使用给定的毫秒时间值设置现有的 Date
对象。
三、SimpleDateFormat 简单的日期格式化类
1.作用:此类的作用是用于格式化Date类或解析字符串的具体类
2.格式化:Date日期--->字符串
//无参构造下
public void test() {
//1.创建一个对象,默认的格式化和解析的格式为:20-1-2 下午1:23
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
//2.创建一个Date类对象
Date date1=new Date();
String format = simpleDateFormat.format(date1);//3.将Date类转换为String类型
System.out.println(format);
}
//带参构造下
public void test(){
//1.按照按照指定的方式格式化和解析:调用带参的构造器
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date();
String format=simpleDateFormat.format(date);//结果为:2020-01-02
System.out.println(format);
}
3.解析:字符串---->Date日期
//无参构造下
public void test(){
//1.创建一个对象,默认的格式化和解析的格式为:20-1-2 下午1:23
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
//2.创建一个String类型的日期
String str="20-1-2 上午1:00";
try {
Date date=simpleDateFormat.parse(str);//3.解析String类型的日期
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
//带参构造下
public void test03(){
//按照按照指定的方式格式化和解析:调用带参的构造器
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
try {
Date parse = simpleDateFormat.parse("2020-01-02");
System.out.println(parse);//结果为:Thu Jan 02 00:00:00 CST 2020
} catch (ParseException e) {
e.printStackTrace();
}
}
四、Calendar日历类_抽象类
public void testCalendar(){
//一、如何实例化:
//1.调用其静态方法getInstance()方法
Calendar calendar1=Calendar.getInstance();
//2.创建其子类(GregorianCalendar)的对象
Calendar calendar2=new GregorianCalendar();
GregorianCalendar gregorianCalendar=new GregorianCalendar();
//二、常用方法
//1.get()方法
int day_of_year=calendar1.get(Calendar.DAY_OF_YEAR);//获得当天在一年内的第几天
System.out.println(day_of_year);
System.out.println(calendar1.get(Calendar.SECOND));//获得当前的秒数
//2.set()方法
calendar1.set(Calendar.DAY_OF_YEAR,23);
System.out.println(calendar1.get(Calendar.DAY_OF_YEAR));
//3.Date getTime():返回Calendar的时间值的Date对象 日历类---->Date类
System.out.println(calendar1.getTime());
//4.setTime(Date date):使用给定的Date对象设置此日历的时间
calendar1.setTime(new Date());
System.out.println(calendar1.get(Calendar.DAY_OF_YEAR));
// System.out.println(calendar1.getTime());
}