2016-04-21 2 views
3

Есть ли способ конвертировать заданный Date Строка в Milliseconds (Epoch Длинный формат) в java? Пример: Я хочу преобразоватьПреобразование даты Строка в эпоху в Java

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

в миллисекундах (эпоха).

+5

http://stackoverflow.com/questions/6687433/convert-date-format-to-epoch – yogidilip

+0

да, но сначала вам нужно разобрать ваш ' String' как 'Date', а затем называть' getTime() 'на нем. – Palcente

ответ

1

Вы можете создать объект 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(); 
+0

Предупреждение в классе Calendar, месяц начинается с 0, так что апрель - это 3 не 4 –

8

Date.getTime() Возвращает количество миллисекунд, прошедших с 1 января 1970 года, 00:00 : 00 GMT, представленный этим объектом Date.

0

Вам нужно будет использовать экземпляр календаря для получения миллисекунды эпохи

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(); 
} 
2

Вы можете просто разобрать его java.util.Date с помощью java.text.SimpleDateFormat и вызвать его функцию GetTime(). Она возвращает количество миллисекунд с января 01 1970.

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

анализирует работу над объектом даты? – AJC

+0

'Date d = SimpleDateFormat (String pattern) .parse (String strDate);' Он анализирует строку (отформатированную дату) заданным шаблоном и возвращает объект 'java.util.Date'. – aichy

+0

[Указано в документе Java8SE Doc] (https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html#parse-java.lang.String-java.text.ParsePosition-) – aichy

Смежные вопросы