2015-03-10 5 views
0

Как я могу преобразовать строку dd/MM/yyyy в miliseconds?Преобразование даты строки в миллисекунды

Я ввожу 03/09/15, и я получаю номер «-» -61651 ...... это нормально?

public Long Func1(String givenDateString){ 
    //String givenDateString = "Tue Apr 23 16:08:28 GMT+05:30 2013"; 
    //SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
    long timeInMilliseconds=0; 
    try { 
     Date mDate = sdf.parse(givenDateString); 
     timeInMilliseconds = mDate.getTime(); 
     System.out.println("Date in milli :: " + timeInMilliseconds); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    return timeInMilliseconds; 
} 
+0

Как вы можете преобразовать дату в миллисекунду? Вы просите получить DateTime в миллисекундах эпохи (миллисекунды с 1970 года)? В противном случае вам потребуется время. – Codeman

+0

если так, то код кажется правильным. Я попробовал это сам, Func1 («09/03/2015») вернет 1425884400000, что верно. – kaho

+4

Похоже, что вы хотите удалить свой вопрос. Это было бы предпочтительнее уничтожить его с помощью редактирования. – Andrew

ответ

0

Date.getTime() метод возвращает число миллисекунд с полуночи 1 января 1970 года и на указанную дату, что время Unix.

http://en.wikipedia.org/wiki/Unix_time

= - = - = - = - = Edited = - = - = - = - =

, если вам нужно только миллисекунду, вы бы использовать Date.getTime()%1000.

+0

не является решением, мне нужно передать данные с этим форматом dd/MM/yyyy и вернуть miliseconds об этих данных String, чтобы сравнить с datecurrent –

1

Ваша функция работает по назначению - вы просто даете ей неправильные данные. Вы указываете свой формат как dd/MM/yyyy (акцент yyyy), но вы даете ему 2-значный год. Это будет интерпретироваться как буквальный год 15. Поскольку значение миллисекунд - это время с 1 января 1970 года, вы ожидаете значительного отрицательного значения за год 15.

Либо измените формат, чтобы использовать 2-значный год (dd/MM/yy), либо более предпочтительно передать в 03/09/2015.

+0

Я видел его вчера, я решил –

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