Android: преобразование даты в миллисекунды

Я

SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
String time = formatter.format(new Date());

чтобы получить время (12.03.2012, 17: 31), теперь я хочу преобразовать это время в миллисекунды, потому что у меня есть файл с парой дат и текстом, и я хочу преобразовать даты в миллисекундах, чтобы я не мог добавить текст в inbox, используя

ContentValues values = new ContentValues();
values.put("address", "123");
values.put("body", "tekst");
values.put("read", 1);
values.put("date", HERE I MUST PUT A DATE IN MILLISECONDS);     
context.getContentResolver().insert(Uri.parse("content://sms/inbox"), values);

потому что я должен поставить время в миллисекундах, я должен переводить время, кто-нибудь знает как?

5 ответов


самый простой способ-преобразовать Date тип в миллисекундах:

SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
formatter.setLenient(false);

Date curDate = new Date();
long curMillis = curDate.getTime();
String curTime = formatter.format(curDate);

String oldTime = "05.01.2011, 12:45";
Date oldDate = formatter.parse(oldTime);
long oldMillis = oldDate.getTime();

используйте объект date и вызовите date.getTime()


Если вы хотите текущее время в миллисе, просто используйте System.currentTimeMillis()


использовать .getMillis ();

Эл.г:

DateTime dtDate = new DateTime();
dtDate.getMillis()

String Date = "Tue Apr 25 18:06:45 GMT+05:30 2017"; 
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
    Date mDate = sdf.parse(Date);
    long timeInMilliseconds = mDate.getTime();

} catch (ParseException e) {
            e.printStackTrace();
}