Tengo un formato de fecha y hora como el siguiente:
Tue Apr 23 16:08:28 GMT+05:30 2013
Quiero convertir en milisegundos, pero en realidad no sé qué formato es. ¿Alguien puede ayudarme?
Use el método a continuación
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(); }
Obtenga más información sobre las cadenas de patrones de fecha y hora .
prueba esto…
Calendar calendar = Calendar.getInstance(); calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0); long startTime = calendar.getTimeInMillis();
**You can use this code** 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));
Esta variable beginupd contiene el formato
Wed Oct 12 11:55:03 GMT+05:30 2011 long millisecond = beginupd.getTime(); Date.getTime() JavaDoc states:
Devuelve la cantidad de milisegundos desde el 1 de enero de 1970 a las 00:00:00 GMT representada por este objeto Date.
Cadena de fecha y hora encubierta a milisegundos:
public static final String DATE_TIME_FORMAT = "MM/dd/yyyy HH:mm:ss a";
o
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
o
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; }
// millis to 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); }
En Kotlin,
Solo usa
timeInMilSeconds = date.time
donde timeInMilSeconds
es milisegundos ( var timeInMilSeconds: Long
) y la date
es Date
Prueba esto en Kotlin,
val calendar = Calendar.getInstance() val UniqueID = calendar.timeInMillis
mismo código en Java,
Calendar calendar = Calendar.getInstance(); long time = calendar.getTimeInMillis();