时间格式 LocalDate LocalTime LocalDateTime

209 阅读1分钟

创建 LocalDate

//获取当前年月日
LocalDate localDate = LocalDate.now();
    //构造指定的年月日
LocalDate localDate1 = LocalDate.of(2022, 12, 11);

获取年月日 星期几

int week=localDate1.get(ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR);

int month=localDate.get(ChronoField.MONTH_OF_YEAR);

int dayOfMonth=localDate.getDayOfMonth();

int year=localDate.getYear();

创建 LocalTime

LocalTime localTime1 = LocalTime.now();
LocalTime localTime = LocalTime.of(12, 11, 3);

获取时分秒

//获取小时
int hour = localTime.getHour();
int hour1 = localTime.get(ChronoField.HOUR_OF_DAY);
//获取分
int minute = localTime.getMinute();
int minute1 = localTime.get(ChronoField.MINUTE_OF_HOUR);
//获取秒
int second = localTime.getSecond();
int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE);

创建 LocalDateTime

LocalDateTime localDateTime = LocalDateTime.now();

LocalDateTime localDateTime1 = LocalDateTime.of(2023, Month.SEPTEMBER, 10, 14, 46, 56);

LocalDateTime localDateTime2 = LocalDateTime.of(localDate, localTime);

LocalDateTime localDateTime3 = localDate.atTime(localTime);

LocalDateTime localDateTime4 = localTime.atDate(localDate);

//LocalDateTime 转化为LocalDate

LocalDate localDate2 = localDateTime.toLocalDate();

//LocalDateTime 转化为LocalTime

LocalTime localTime2 = localDateTime.toLocalTime();

获取时间戳

Instant instant = Instant.now();

long currentMilli = instant.toEpochMilli();

LocalDateTime转时间戳

 ZoneId zone = ZoneId.systemDefault();
 
 Instant instant = localDateTime.atZone(zone).toInstant();
   
 long nowTime=instant.toEpochMilli();

时间戳转LocalDateTime

  Instant instant = Instant.ofEpochMilli(timestamp);
  
  ZoneId zone = ZoneId.systemDefault();
  
  LocalDateTime localDateTime=LocalDateTime.ofInstant(instant, zone);

LocalDateTime转为自定义的时间格式的字符串

DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");

DateTimeFormatter dateTimeFormatter3 = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss");

DateTimeFormatter dateTimeFormatter4 = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分ss秒");

DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
 
String localTimeStr= localDateTime.format(formatter);

时间格式的字符串转化为LocalDateTime

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dataStr="2023-10-12 11:10:40";
LocalDateTime local= LocalDateTime.parse(dataStr, df);

Date 转LocalDateTime

Date date=new Date();
        
LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
		

LocalDateTime 转Date

LocalDateTime localDateTime = LocalDateTime.now();

Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());