У меня есть один формат даты и времени, как показано ниже:
Tue Apr 23 16:08:28 GMT+05:30 2013
Я хочу преобразовать в миллисекунды, но я действительно не знаю, в каком формате он есть. Может кто-нибудь, пожалуйста, помогите мне.
У меня есть один формат даты и времени, как показано ниже:
Tue Apr 23 16:08:28 GMT+05:30 2013
Я хочу преобразовать в миллисекунды, но я действительно не знаю, в каком формате он есть. Может кто-нибудь, пожалуйста, помогите мне.
Использовать ниже метод
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();
}
Подробнее о строках шаблона даты и времени.
попробуйте это...
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(),
timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();
Вы можете использовать этот код
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;
}
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:
Возвращает количество миллисекунд с 1 января 1970 года, 00:00:00 GMT, представленное этим объектом Date.
В Котлине
Просто используйте
timeInMilSeconds = date.time
где timeInMilSeconds
- миллисекунды (var timeInMilSeconds: Long
), а date
- дата.
Скрывать строку даты и времени в миллисекундах:
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;
}
//миллис к dateString
public static String convertTimeInMillisToDateString(long timeInMillis, String DATE_TIME_FORMAT) {
Date d = new Date(timeInMillis);
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
return sdf.format(d);
}
Попробуйте это в Котлине,
val calendar = Calendar.getInstance()
val UniqueID = calendar.timeInMillis
тот же код на Java,
Calendar calendar = Calendar.getInstance(); long time = calendar.getTimeInMillis();
Просто чтобы дополнить данные ответы, если вам нужно преобразовать время, указанное в дате, в другие единицы времени, вы можете использовать API TimeUnit
Пример:
TimeUnit.MILLISECONDS.toMinutes(millis)