Chuyển đổi ngày giờ số nguyên thành ngày giờ thực sự cố? JAVA [trùng lặp]
Aug 17 2020
vì vậy tôi gặp sự cố này khi chuyển đổi định dạng DateTime số nguyên sang định dạng DateTime bình thường trong Java. Tôi có biến này int DateTime, ví dụ nó là: "/ Date (1484956800000) /". Và tôi đang cố chuyển nó thành ngày giờ bình thường và hiển thị nó ra màn hình ...
Tôi đã thử như thế này ..
String dateAsText = new SimpleDateFormat("MM-dd HH:mm")
.format(new Date(Integer.parseInt(deals.getDate_time()) * 1000L));
// setting my textView with the string dateAsText
holder.Time.setText(dateAsText);
Trả lời
1 LiveandLetLive Aug 17 2020 at 15:08
Tôi khuyên bạn nên ngừng sử dụng java.utilAPI ngày-giờ lỗi thời và dễ xảy ra lỗi và SimpleDateFormat. Chuyển sang API ngày-giờ hiện đại java.time và API định dạng tương ứng ( java.time.format). Tìm hiểu thêm về API ngày-giờ hiện đại từ Trail: Date Time .
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// Obtain an instance of Instant using milliseconds from the epoch of
// 1970-01-01T00:00:00Z
Instant instant = Instant.ofEpochMilli(1484956800000L);
System.out.println(instant);
// Specify the time-zone
ZoneId myTimeZone = ZoneId.of("Europe/London");
// Obtain ZonedDateTime out of Instant
ZonedDateTime zdt = instant.atZone(myTimeZone);
// Obtain LocalDateTime out of ZonedDateTime
// Note that LocalDateTime throws away the important information of time-zone
LocalDateTime ldt = zdt.toLocalDateTime();
System.out.println(ldt);
// Custom format
String dateAsText = ldt.format(DateTimeFormatter.ofPattern("MM-dd HH:mm"));
System.out.println(dateAsText);
}
}
Đầu ra:
2017-01-21T00:00:00Z
2017-01-21T00:00
01-21 00:00
Nếu bạn vẫn muốn sử dụng kế thừa được thiết kế kém java.util.Date, bạn có thể làm như sau:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date date = new Date(1484956800000L);
System.out.println(date);
// Custom format
String dateAsText = new SimpleDateFormat("MM-dd HH:mm").format(date);
System.out.println(dateAsText);
}
}
Đầu ra:
Sat Jan 21 00:00:00 GMT 2017
01-21 00:00