Java时间戳

 涉及数据类型

1.  long 原生类型:

这是最基本的类型,表示自Unix纪元(1970年1月1日00:00:00 UTC)以来的毫秒数。你可以直接使用 System.currentTimeMillis() 获取当前时间的毫秒级时间戳。


2.  java.util.Date 类:

Date 类有一个构造函数接受一个 long 类型的毫秒值作为参数,并可以被用来表示时间戳。此外,Date 对象的 getTime() 方法返回一个 long 类型的时间戳。


3.  java.sql.Timestamp 类:

Timestamp 类继承自 java.util.Date 类,但它提供了更高的精度,可以精确到纳秒。这个类在数据库交互中非常常见,因为大多数数据库系统支持 TIMESTAMP 数据类型,与 java.sql.Timestamp 类兼容。


4.  java.time.Instant 类(Java 8 及更高版本):

Instant 类代表了时间线上的一个瞬间,它是基于UTC的,并且没有时区的概念。它同样使用自Unix纪元以来的毫秒数来表示时间戳,但也可以提供纳秒级别的精度。使用 Instant.ofEpochMilli(long) 方法可以创建一个 Instant 对象。


5.  java.time.LocalDateTime, LocalDate, LocalTime:

这些类并不直接表示时间戳,但它们可以与 Instant 结合使用,或者通过时区转换来表示特定时刻的时间戳。


6.  java.time.ZonedDateTime 和 OffsetDateTime:

这些类包含了时区信息,也可以转换为时间戳,通常是通过与 Instant 的相互转换来实现。

时间戳使用

  • 获得时间戳:
  • Date date=new Date();
    Long timestamp=date.getTime(); 
    
  • 将时间戳转换为带格式的字符串:
  • //构造方法设置年月日时分秒格式
    SimpleDateFormat sdf=new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
    //把long类型的时间戳转化为构造方法指定的时间字符串
    String timeText=sdf.format(timestamp);
    
  • 已经带格式的字符串,转换为时间戳:
  • String time="2020-02-14 13:14:21";
    //设置要读取的时间字符串格式
    SimpleDateFormat sdf=new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
    //转换为Date类
    Date date=format.parse(time);
    Long timestamp=date.getTime();
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值