Android将日期和时间转换为毫秒

Pra*_*asa 35 datetime android

我有一个日期和时间格式如下:

Tue Apr 23 16:08:28 GMT+05:30 2013
Run Code Online (Sandbox Code Playgroud)

我想转换成毫秒,但实际上我不知道它是哪种格式.任何人都可以帮助我.

Pan*_*mar 92

使用以下方法

// Below Imports are required for this code snippet
// import java.util.Locale;
// import java.time.LocalDateTime;
// import java.time.ZoneOffset;
// import java.time.format.DateTimeFormatter;
String date = "Tue Apr 23 16:08:28 GMT+05:30 2013";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
LocalDateTime localDate = LocalDateTime.parse(date, formatter);
long timeInMilliseconds = localDate.atOffset(ZoneOffset.UTC).toInstant().toEpochMilli();
Log.d(TAG, "Date in milli :: FOR API >= 26 >>> " + timeInMilliseconds);
// Output is -> Date in milli :: FOR API >= 26 >>> 1366733308000
Run Code Online (Sandbox Code Playgroud)

详细了解日期和时间模式字符串.

  • 完美的答案。适用于所有android平台的100%。保持兄弟 (2认同)

小智 11

您可以使用此代码

long miliSecsDate = milliseconds ("2015-06-04");
Log.d("miliSecsDate", " = "+miliSecsDate);

    public long milliseconds(String date) 
    {
        //String date_ = date;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try
        {
            Date mDate = sdf.parse(date);
            long timeInMilliseconds = mDate.getTime();
            System.out.println("Date in milli :: " + timeInMilliseconds);
            return timeInMilliseconds;
        }
        catch (ParseException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return 0;
    }
Run Code Online (Sandbox Code Playgroud)


Kis*_*nki 10

在科特林,

只需使用

timeInMilSeconds = date.time
Run Code Online (Sandbox Code Playgroud)

其中timeInMilSeconds是毫秒(var timeInMilSeconds: Long)和date日期


小智 9

试试这个...

Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), 
             timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)