杰瑞科技汇

Java日期怎么转时间戳?

Java 日期转时间戳

在 Java 中,将日期对象转换为时间戳(毫秒数)主要有以下几种方式:

Java日期怎么转时间戳?-图1
(图片来源网络,侵删)

使用 java.util.Date

import java.util.Date;
public class DateToTimestamp {
    public static void main(String[] args) {
        // 创建当前日期对象
        Date date = new Date();
        // 转换为时间戳(毫秒数)
        long timestamp = date.getTime();
        System.out.println("当前时间戳: " + timestamp);
    }
}

使用 java.time 包(Java 8+ 推荐)

Java 8 引入了新的日期时间 API,推荐使用 java.time 包:

import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class DateToTimestampJava8 {
    public static void main(String[] args) {
        // 方式1: 使用 Instant 获取当前时间戳
        long timestamp1 = Instant.now().toEpochMilli();
        System.out.println("当前时间戳(Instant): " + timestamp1);
        // 方式2: 从 LocalDateTime 转换
        LocalDateTime localDateTime = LocalDateTime.now();
        long timestamp2 = localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
        System.out.println("当前时间戳(LocalDateTime): " + timestamp2);
        // 方式3: 从 LocalDate 转换
        LocalDate localDate = LocalDate.now();
        long timestamp3 = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli();
        System.out.println("当前时间戳(LocalDate): " + timestamp3);
    }
}

从字符串日期解析并转换

import java.text.SimpleDateFormat;
import java.util.Date;
public StringDateToTimestamp {
    public static void main(String[] args) throws Exception {
        String dateString = "2025-05-15 14:30:00";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 解析字符串为 Date 对象
        Date date = sdf.parse(dateString);
        // 转换为时间戳
        long timestamp = date.getTime();
        System.out.println("日期字符串: " + dateString);
        System.out.println("对应时间戳: " + timestamp);
    }
}

使用 Calendar

import java.util.Calendar;
import java.util.Date;
public class CalendarToTimestamp {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        // 设置日期时间(可选)
        calendar.set(2025, Calendar.MAY, 15, 14, 30, 0);
        // 转换为 Date 对象
        Date date = calendar.getTime();
        // 转换为时间戳
        long timestamp = date.getTime();
        System.out.println("Calendar 时间戳: " + timestamp);
    }
}

注意事项

  1. 时间戳是自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数
  2. Java 8+ 的 java.time API 是更现代、更安全的日期时间处理方式
  3. 时区处理很重要,特别是在跨时区应用中
  4. 对于数据库操作,通常使用 PreparedStatement.setTimestamp() 方法

方法都可以将日期对象转换为时间戳(毫秒数),选择哪种方法取决于你的 Java 版本和具体需求。

Java日期怎么转时间戳?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇