java 之 时间类总结
2021-04-24 07:27
标签:oid 操作 需要 mic 相互转换 amp 安全 子类 过程 1、java.util.Date java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 Date()使用当前日期和时间来初始化对象。 Date(long millisec),该参数是从1970年1月1日起的毫秒数. 获取当前日期时间 Date类常用方法 2、java.sql.Date 包含年月日、对应sql中的DATE类型。是java.util.Date的子类但是只有一个构造函数。 Date(long millisec),该参数是从1970年1月1日起的毫秒数. 获取当前时间 3、java.sql.Time 包含时分秒为,对应SQL中TIME类型。与java.sql.Date一样有一个有参构造函数。 Time(long millisec),该参数是从1970年1月1日起的毫秒数. 获取当前日期时间 4、java.sql.Timestamp 时间戳,对应SQL中的TIMESTAMP类型,精确到纳秒级别。 Timestamp(long millisec),该参数是从1970年1月1日起的毫秒数. 获取当前日期时间 5、java.text.SimpleDateFormat SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。 将时间字符串转化为Date再格式化 日期和时间格式化编码 6、java.util.Calendar 日历类,大多用来获取时间的特殊属性,比如年份,月份,星期几。 Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。 jdk1.8新增了创建方法。 Calendar类对象字段类型 7、java.util.GregorianCalendar Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现。 Calendar 的getInstance()方法返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象。 GregorianCalendar定义了两个字段:AD和BC。这是代表公历定义的两个时代.。 构造方法 常用方法 java8开始有的新的操作时间的类 8、java.time.LocalDate LocalDate提供年月日而不提供时分秒信息,它是不可变类且线程安全的。它经常被用于展示year-month-day,day-of-year,day-of-week,week-of-year等格式的信息。 9、java.time.Time 提供时分秒不提供年月日,也是线程安全并且不可变类。它经常被用于展示hour-minute-second格式的信息。可以对时间进行加减等操作。 10、java.time.LocalDateTime 包含年月日时分秒,精确到纳秒级别,同样是线程安全并且不可变类。它可以操作时间中的年月日时分秒并且可以获取其中的属性。 11、java.time.Instant 时间戳,就包含年月日时分秒,精确到纳秒级别,同样是线程安全并且不可变类。 12、java.time.Duration 时间段,同样是线程安全并且不可变类。 java 之 时间类总结 标签:oid 操作 需要 mic 相互转换 amp 安全 子类 过程 原文地址:https://www.cnblogs.com/zero-vic/p/13264550.htmlpublic class DataTest {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);//Tue Jul 07 22:54:59 CST 2020
System.out.println(date.getTime());//1594133756181
System.out.println(new Date(System.currentTimeMillis()));//Tue Jul 07 23:35:25 CST 2020
}
}
public class SqlDate {
public static void main(String[] args) {
Date date = new Date(System.currentTimeMillis());
System.out.println(date);
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date));
// 2020-07-07
// 2020-07-07 11:41:59
}
}
public class SqlDate {
public static void main(String[] args) {
Time time = new Time(System.currentTimeMillis());
System.out.println(time);
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(time));
// 23:53:51
// 2020-07-07 11:53:51
}
}
public class SqlDate {
public static void main(String[] args) {
Timestamp timestamp =new Timestamp(System.currentTimeMillis());
System.out.println(timestamp);
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(timestamp));
// 2020-07-07 23:58:04.907
// 2020-07-07 11:58:04
}
}
public class DateFormatTest {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
Date date = sdf.parse("2020年05月20日 13:14:58");
System.out.println(date);
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date));
// Wed May 20 13:14:58 CST 2020
// 2020-05-20 01:14:58
}
}
public class CalendarTest {
public static void main(String[] args) {
//获取当前时间的Calendar对象,可以通过set方法来设置时间
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
//JDK1.8 创建一个指定日期的Calendar对象
Calendar calendar1 = new Calendar.Builder().setDate(2020,05,20).build();
System.out.println(calendar1.getTime());
System.out.println(calendar1.get(Calendar.YEAR));
System.out.println(calendar1.get(Calendar.MONTH));
System.out.println(calendar1.get(Calendar.DATE));
System.out.println(calendar1.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar1.get(Calendar.MINUTE));
System.out.println(calendar1.get(Calendar.SECOND));
System.out.println(calendar1.get(Calendar.DAY_OF_WEEK));
// Wed Jul 08 00:29:17 CST 2020
// Sat Jun 20 00:00:00 CST 2020
// 2020
// 5
// 20
// 0
// 0
// 0
// 7
}
}
public class LocalDates {
public static void main(String[] args) {
LocalDate ld = LocalDate.now();//获取当前时间对象
System.out.println(ld);
System.out.println(ld.getYear());//那一年
System.out.println(ld.getMonth());//那个月
System.out.println(ld.getDayOfMonth());//几号
System.out.println(ld.getDayOfWeek());//周几
System.out.println(ld.getDayOfYear());//一年中第多少天
System.out.println(ld.isLeapYear());//是否闰年
// 2020-07-08
// 2020
// JULY
// 8
// WEDNESDAY
// 190
// true
}
}
public class LocalTimeTest {
public static void main(String[] args) {
LocalTime localTime = LocalTime.now();//获取当前时间
System.out.println(localTime);
int hour = localTime.getHour();//获取小时
System.out.println(hour);
LocalTime addTwoHours = localTime.plusHours(2l);//增加2小时
System.out.println(addTwoHours);
LocalTime reduceTOneHour = localTime.minusHours(1L);//减少2小时
System.out.println(reduceTOneHour);
// 01:05:20.498
// 1
// 03:05:20.498
// 00:05:20.498
}
}
public class LocalDateTimeTest {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
//LocalDateTime 和 LocalDate, LocalTime 相互转换
LocalDate localDate = localDateTime.toLocalDate();
System.out.println(localDate);
LocalTime localTime = localDateTime.toLocalTime();
System.out.println(localTime);
// 2020-07-08T01:13:36.274
// 2020-07-08
// 01:13:36.274 }
}public class InstantTest {
public static void main(String[] args) {
Instant instant = Instant.now();
System.out.println(instant);
//2020-07-07T17:16:23.233Z
}
}
public class DurationTest {
public static void main(String[] args) {
Duration duration = Duration.between(LocalTime.of(10,14,59), LocalTime.of(13,14,59));
long toDays = duration.toDays();
long toHours = duration.toHours();
System.out.println(toDays);
System.out.println(toHours);
// 0
// 3} }