Python工程师Java之路(f)Java时间API+时间类型转换

本文介绍了如何使用Java进行时间的获取、格式化以及毫秒值的转换,并提供了详细的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导入:java.time

  • LocalDateTime:时间类型
  • format.DateTimeFormatter:时间格式
  • ZoneOffset:时区偏移量
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.ZoneOffset;

public class Hello {
    public static void main(String[] args) {
    }
}

LocalDateTime

LocalDateTime now = LocalDateTime.now();
int year = now.getYear();
int month = now.getMonthValue();
int day = now.getDayOfMonth();
int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();
String weekday = now.getDayOfWeek().toString();
System.out.println(now);
System.out.println(year);
System.out.println(month);
System.out.println(day);
System.out.println(hour);
System.out.println(minute);
System.out.println(second);
System.out.println(weekday);

2021-03-15T17:32:02.715
2021
3
15
17
32
2
MONDAY

时间格式化

LocalDateTime now = LocalDateTime.now();
DateTimeFormatter ymd = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
DateTimeFormatter hms = DateTimeFormatter.ofPattern("HH时mm分ss秒 SSS毫秒");
System.out.println(ymd.format(now));
System.out.println(hms.format(now));

2021年03月15日
17时32分02秒 715毫秒

返回当前系统时间距离1970-1-1 0:0:0的毫秒值

long millisecond = System.currentTimeMillis();

类型转换

millisecond
LocalDateTime
String
LocalDateTime
millisecond
// 毫秒数
long millis = System.currentTimeMillis();
System.out.println(millis);
// 毫秒数 -> LocalDateTime
LocalDateTime now = LocalDateTime.ofEpochSecond(
        millis / 1000, (int) ((millis % 1000) * 1e6), ZoneOffset.ofHours(8));
System.out.println(now);
// LocalDateTime -> String
DateTimeFormatter yMdMmsF = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String yMdMmsStr = yMdMmsF.format(now);
System.out.println(yMdMmsStr);
// String -> LocalDateTime
LocalDateTime localDateTime = LocalDateTime.parse(yMdMmsStr, yMdMmsF);
System.out.println(localDateTime);
// LocalDateTime -> 毫秒数
long millisecond = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
System.out.println(millisecond);

1615803881877
2021-03-15T18:24:41.877
2021-03-15 18:24:41.877
2021-03-15T18:24:41.877
1615803881877

附录

en🔉cn
zonezoʊnn. 地带;vi. 分成区;vt. 使分成地带
timezoneˈtaɪmzoʊn时区;
milliˈmɪli毫,千分之一
millisecondˈmɪlisekənd毫秒
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值