如何在 Java 中将字符串转换为时间戳

时间戳是计算时刻或日期时使用的一种无歧义计时方式,是将日期和时间表示为一个数字,通常是自纪元以来的秒数。在 Java 中,可以将一个字符串格式的日期转换为时间戳。

下面是在 Java 中将字符串转换为时间戳的代码示例:

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

public class StringToTimestamp {
    public static void main(String[] args) {
        String dateString = "2022-01-01 12:00:00";
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date date = dateFormat.parse(dateString);
            long timestamp = date.getTime() / 1000;
            System.out.println("Timestamp: " + timestamp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在此示例中,我们将 “2022-01-01 12:00:00” 字符串转换为日期对象,然后通过 getTime() 方法获取时间戳,最后将其除以 1000 获取以秒为单位的时间戳。

需要注意的是:

  1. 要使用 SimpleDateFormat 类来指定日期字符串的格式,如果格式不匹配,转换会失败。
  2. 在使用 SimpleDateFormat 类时要小心线程安全问题,建议在每个线程内部创建 SimpleDateFormat 实例。
  3. 在转换时间戳时要记得将毫秒数除以 1000,以得到以秒为单位的时间戳。

总之,在 Java 中将字符串转换为时间戳需要注意日期字符串格式、线程安全以及时间单位等问题,只有处理好这些细节才能正确地将字符串转换为时间戳。