您的位置:

Java日期转时间戳

一、什么是时间戳

时间戳指的是从1970年1月1日0时0分0秒(北京时间,东八区)开始到现在的总秒数。这种方式表示的时刻称为“UNIX时间戳”(Unix timestamp)。

时间戳通常是跨平台、跨语言的,可以用于统计某个事件发生的时间、计算程序运行时间等。

二、Java中时间戳的表示

在Java中,时间戳一般用long类型表示,并以“毫秒”作为单位。

//获取当前时间戳
long currentTimestamp = System.currentTimeMillis();

三、Java中将日期转为时间戳的方法

Java中可以使用Date类和SimpleDateFormat类来将日期转为时间戳。

1. 使用Date类

通过Date类的getTime()方法可以获取该日期的时间戳。

import java.util.Date;

public class DateToTimestamp {
    public static void main(String[] args) {
        //创建一个Date对象,表示当前时间
        Date date = new Date();
        //获取时间戳
        long timestamp = date.getTime();
        System.out.println(timestamp);
    }
}

2. 使用SimpleDateFormat类

通过SimpleDateFormat类的parse()方法可以将字符串格式的日期转为Date对象,再通过getTime()方法获取时间戳。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class StringToTimestamp {
    public static void main(String[] args) throws ParseException {
        //将字符串格式的日期转为Date对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse("2022-01-01 00:00:00");
        //获取时间戳
        long timestamp = date.getTime();
        System.out.println(timestamp);
    }
}

四、注意事项

在将字符串格式的日期转为Date对象时,需要注意以下几点:

1. SimpleDateFormat中的日期格式要与字符串格式的日期相对应。

2. 字符串格式的日期不一定要包含时分秒。

3. 月份从0开始计数,即0表示1月,11表示12月。