web-dev-qa-db-ja.com

Android日付と時刻をミリ秒に変換する

次のような日付と時刻の形式が1つあります。

Tue Apr 23 16:08:28 GMT+05:30 2013

ミリ秒に変換したいのですが、実際にはどの形式なのかわかりません。誰か助けてください。

30
Pratik Dasa

以下の方法を使用

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

日付と時刻のパターン文字列 の詳細をご覧ください。

82
Pankaj Kumar

これを試して...

Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), 
             timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();
8
user6602265

このコードを使用できます

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;
    }
4
M.Ganji
Date beginupd = new Date(cursor1.getLong(1));

この変数beginupdには次の形式が含まれます

Wed Oct 12 11:55:03 GMT+05:30 2011

long millisecond = beginupd.getTime();

Date.getTime() JavaDoc states:

このDateオブジェクトで表される1970年1月1日00:00:00 GMT以降のミリ秒数を返します。

2
kalyan pvs

日付と時刻の文字列をミリ秒に変換します。

 public static final String DATE_TIME_FORMAT = "MM/dd/yyyy HH:mm:ss a";

または

  public static final String DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";

または

  public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZZZZZ";
  //TimeZone.getAvailableIds() to list all timezone ids
  String timeZone = "EST5EDT";//it can be anything timezone like IST, GMT.
  String time = "2/21/2018 7:41:00 AM";

 public static long[] convertTimeInMillis(String dateTimeFormat, String timeZone, String... times) throws ParseException {

   SimpleDateFormat dateFormat = new SimpleDateFormat(dateTimeFormat, Locale.getDefault());
   dateFormat.setTimeZone(TimeZone.getTimeZone(timeZone));
   long[] ret = new long[times.length];
   for (int i = 0; i < times.length; i++) {
      String timeWithTZ = times[i] + " "+timeZone;
      Date d = dateFormat.parse(timeWithTZ);
      ret[i] = d.getTime();
    }
  return ret;

}

//ミリ秒から日付文字列

  public static String convertTimeInMillisToDateString(long timeInMillis, String DATE_TIME_FORMAT) {
     Date d = new Date(timeInMillis);
     SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
     return sdf.format(d);
  }
2
Naresh Palle

コトリンでは、

使うだけ

timeInMilSeconds = date.time

ここで、timeInMilSecondsはミリ秒(var timeInMilSeconds: Long)およびdate日付

2

コトリンでこれを試してください、

val calendar = Calendar.getInstance()
val UniqueID = calendar.timeInMillis

javaの同じコード、

Calendar calendar = Calendar.getInstance(); long time = calendar.getTimeInMillis();
1
Rajesh Naddy

指定された答えを補完するために、日付で指定された時間を他の時間単位に変換する必要がある場合は、 TimeUnit API

例:

TimeUnit.MILLISECONDS.toMinutes(millis)
0
André Sousa