Android

how to convert milliseconds to date format in android?

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

У меня есть миллисекунды. Мне нужно преобразовать их в формат даты из

пример:


23/10/2011


Как этого добиться?

Переведено автоматически
Ответ 1

Просто попробуйте этот пример кода:-

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class Test {

/**
* Main Method
*/

public static void main(String[] args) {
System.out.println(getDate(82233213123L, "dd/MM/yyyy hh:mm:ss.SSS"));
}


/**
* Return date in specified format.
* @param milliSeconds Date in milliseconds
* @param dateFormat Date format
* @return String representing date in specified format
*/

public static String getDate(long milliSeconds, String dateFormat)
{
// Create a DateFormatter object for displaying date in specified format.
SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);

// Create a calendar object that will convert the date and time value in milliseconds to date.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliSeconds);
return formatter.format(calendar.getTime());
}
}
Ответ 2

Преобразуйте миллисекундное значение в Date экземпляр и передайте его выбранному форматировщику.

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
String dateString = formatter.format(new Date(dateInMillis)));
Ответ 3
public static String convertDate(String dateInMilliseconds,String dateFormat) {
return DateFormat.format(dateFormat, Long.parseLong(dateInMilliseconds)).toString();
}

Вызовите эту функцию

convertDate("82233213123","dd/MM/yyyy hh:mm:ss");
Ответ 4

tl; dr

Instant.ofEpochMilli( myMillisSinceEpoch )           // Convert count-of-milliseconds-since-epoch into a date-time in UTC (`Instant`).
.atZone( ZoneId.of( "Africa/Tunis" ) ) // Adjust into the wall-clock time used by the people of a particular region (a time zone). Produces a `ZonedDateTime` object.
.toLocalDate() // Extract the date-only value (a `LocalDate` object) from the `ZonedDateTime` object, without time-of-day and without time zone.
.format( // Generate a string to textually represent the date value.
DateTimeFormatter.ofPattern( "dd/MM/uuuu" ) // Specify a formatting pattern. Tip: Consider using `DateTimeFormatter.ofLocalized…` instead to soft-code the formatting pattern.
) // Returns a `String` object.

java.time

Современный подход использует классы java.time, которые вытесняют старые устаревшие классы даты и времени, используемые во всех других ответах.

Предполагая, что у вас есть long количество миллисекунд с момента отсчета эпохи в первый момент 1970 года по UTC, 1970-01-01T00:00:00Z…

Instant instant = Instant.ofEpochMilli( myMillisSinceEpoch ) ;

Для получения даты требуется часовой пояс. Для любого данного момента дата варьируется по всему миру в зависимости от зоны.

ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;
ZonedDateTime zdt = instant.atZone( z ) ; // Same moment, different wall-clock time.

Извлеките значение только для даты.

LocalDate ld = zdt.toLocalDate() ;

Сгенерируйте строку, представляющую это значение, используя стандартный формат ISO 8601.

String output = ld.toString() ;

Сгенерируйте строку в пользовательском формате.

DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" ) ;
String output = ld.format( f ) ;

Совет: Подумайте о том, чтобы позволить java.time автоматически локализовать для вас, а не жестко кодировать шаблон форматирования. Используйте DateTimeFormatter.ofLocalized… методы.


О java.time

Платформа java.time встроена в Java 8 и более поздних версий. Эти классы заменяют старые, вызывающие беспокойство, устаревшие классы даты и времени, такие как java.util.Date, Calendar, & SimpleDateFormat.

Чтобы узнать больше, ознакомьтесь с Руководством по Oracle. И найдите в Stack Overflow множество примеров и пояснений. Спецификация - JSR 310.

Проект Joda-Time, который сейчас находится в режиме обслуживания, рекомендует перейти на классы java.time.

Вы можете обмениваться объектами java.time непосредственно со своей базой данных. Используйте драйвер JDBC, совместимый с JDBC 4.2 или более поздней версии. Нет необходимости в строках, нет необходимости в java.sql.* классах. Поддержка Hibernate 5 и JPA 2.2 java.time.

Где получить классы java.time?

java android date