编号 | 途经 | 代码 | 说明 | 建议 |
---|
1 | java.util.Date | new Date() | Date对象 | 少用 |
2 | System | System.currentTimeMillis() | 时间戳 | 常用 |
3 | java.util.Calendar | Calendar.getInstance().getTime() | Date升级版 | 较常用 |
4 | java.time.LocalDate | LocalDate.now() | 只有日期 | 推荐 (JDK1.8新API) |
5 | java.time.LocalTime | LocalTime.now() | 只有时间 | 推荐 (JDK1.8新API) |
6 | java.time.LocalDateTime | LocalDateTime.now() | 日期时间 | 推荐 (JDK1.8新API) |
7 | java.time.ZonedDateTime | ZonedDateTime.now() | 有时区 | 推荐 (JDK1.8新API) |
8 | Instant | Instant.now() | 时刻 | 推荐 (JDK1.8新API) |
import java.text.SimpleDateFormat;
import java.time.*;
import java.util.Calendar;
import java.util.Date;
/**
* @author ajun
* Date 2021/7/9
* @version 1.0
* 获取当前时间
*/
public class CurrentTime {
public static void main(String[] args) {
//getByDate();
//getBySystem();
//getByCalendar();
//getByLocalDate();
//getByLocalTime();
//getByLocalDateTime();
//getByZonedDateTime();
getByInstant();
}
// 使用java.util.Date类
public static void getByDate(){
Date date = new Date();
//SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//System.out.println(format.format(date));
System.out.println(date);
}
// 使用System类
public static void getBySystem(){
long l = System.currentTimeMillis();
Date date = new Date(l);
System.out.println(date);
}
// 使用Calendar类
public static void getByCalendar(){
Date time = Calendar.getInstance().getTime();
System.out.println(time);
}
// 使用LocalDate类:只有日期,无时间
public static void getByLocalDate(){
LocalDate now = LocalDate.now();
System.out.println(now);
}
// 使用LocalTime类:只有时间,无日期
public static void getByLocalTime(){
LocalTime now = LocalTime.now();
System.out.println(now);
}
// 使用LocalDateTime类
public static void getByLocalDateTime(){
LocalDateTime now = LocalDateTime.now();
System.out.println(now);
}
// 使用ZonedDateTime类
public static void getByZonedDateTime(){
ZonedDateTime now = ZonedDateTime.now();
System.out.println(now);
}
// 使用Instant类
public static void getByInstant(){
Instant now = Instant.now();
System.out.println(now);
}
}
格式化
DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH :mm:ss");
String strDate2 = dtf2.format(time);
时区的设置
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));