Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีดึงวันที่/เวลาปัจจุบันเป็นมิลลิวินาทีใน Java


มีหลายวิธีในการดึงเวลาปัจจุบันเป็นมิลลิวินาที (epoch milliseconds) ใน Java

วิธีที่ 1: ใช้ java.util.Date

เมธอด getTime() ของคลาส Date คืนค่า epoch time (มิลลิวินาทีจาก 1 ม.ค. 1970 00:00:00 GMT)

import java.util.Date;

public class Sample {
    public static void main(String args[]) {
        Date date = new Date();
        long msec = date.getTime();
        System.out.println("Milli Seconds: " + msec);
    }
}
Milli Seconds: 1605160094688

วิธีที่ 2: ใช้ java.util.Calendar

เมธอด getTimeInMillis() ของ Calendar คืนค่าเวลาปัจจุบันเป็นมิลลิวินาที

import java.util.Calendar;

public class Sample {
    public static void main(String args[]) {
        Calendar cal = Calendar.getInstance();
        long msec = cal.getTimeInMillis();
        System.out.println("Milli Seconds: " + msec);
    }
}
Milli Seconds: 1605160934357

วิธีที่ 3: ใช้ java.time.Instant (Java 8+)

เมธอด toEpochMilli() ของ Instant คืนค่ามิลลิวินาทีจาก epoch (แนะนำสำหรับโปรเจกต์ใหม่)

import java.time.Instant;
import java.time.ZonedDateTime;

public class Sample {
    public static void main(String args[]) {
        ZonedDateTime obj = ZonedDateTime.now();
        Instant instant = obj.toInstant();
        long msec = instant.toEpochMilli();
        System.out.println("Milli Seconds: " + msec);
    }
}
Milli Seconds: 1605162474464

วิธีที่ 4: ใช้ System.currentTimeMillis() (ง่ายที่สุด)

public class Sample {
    public static void main(String args[]) {
        long msec = System.currentTimeMillis();
        System.out.println("Milli Seconds: " + msec);
    }
}

ตารางเปรียบเทียบ

วิธีเวอร์ชันคำแนะนำ
System.currentTimeMillis()Java 1.0+เร็วที่สุด เหมาะสำหรับ benchmarking
Instant.now().toEpochMilli()Java 8+แนะนำสำหรับโค้ดใหม่ ใช้งานง่าย รองรับ time API สมัยใหม่
Date.getTime()Java 1.1+Legacy ไม่แนะนำใช้ใหม่
Calendar.getTimeInMillis()Java 1.1+Legacy ไม่ thread-safe