web-dev-qa-db-ja.com

Javaで日付文字列をエポックに変換します

与えられたDate文字列をJavaのMillisecondsEpoch Long形式)に変換する方法はありますか?例:変換したい

public static final String date = "04/28/2016"; 

ミリ秒(エポック)に。

6
Ashley

DateクラスのgetTime()メソッドは、このDateオブジェクトで表される1970年1月1日00:00:00 GMT以降のミリ秒数を返します。

12
Paul Ostrowski

Java.text.SimpleDateFormatを使用してJava.util.Dateに解析し、getTime()関数を呼び出すだけです。 1970年1月1日からのミリ秒数を返します。

public static final String strDate = "04/28/2016";
try {
    Long millis = new SimpleDateFormat("MM/dd/yyyy").parse(strDate).getTime();
} catch (ParseException e) {
    e.printStackTrace();
}
7
aichy

Calendarオブジェクトを作成し、その日付を必要な日付に設定して、そのgetTimeInMillis()メソッドを呼び出すことができます。

Calendar c = new Calendar.getInstance();
c.set(2016, 3, 28);
c.getTimeInMillis();

Stringを直接日付に変換したい場合は、これを試すことができます:

String date = "4/28/2016";
String[] dateSplit = date.split("/");
c.set(Integer.valueOf(dateSplit[2]), Integer.valueOf(dateSplit[0]) - 1, Integer.valueOf(dateSplit[1]));
c.getTimeInMillis();
1
Albert

Epochからミリ秒を取得するには、Calendarインスタンスを使用する必要があります

try {
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    Java.util.Date d = sdf.parse("04/28/2016");
    /*
     * Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
     */
    System.out.println(d.getTime());
    //OR
    Calendar cal = Calendar.getInstance();
    cal.set(2016, 3, 28);
    //the current time as UTC milliseconds from the Epoch.
    System.out.println(cal.getTimeInMillis());
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
0
Davy Jones