Tôi sẽ chỉ cho bạn ba cách để (a) lấy trường phút từ một giá trị dài và (b) in nó bằng định dạng Ngày bạn muốn. Một cái sử dụng java.util.CalWiki , một cái khác sử dụng Joda-Time và cái cuối cùng sử dụng khung java.time được tích hợp trong Java 8 trở lên.
Khung công tác java.time thay thế các lớp thời gian được đóng gói cũ và được lấy cảm hứng từ Joda-Time, được định nghĩa bởi JSR 310 và được mở rộng bởi dự án ThreeTen-Extra.
Khung công tác java.time là cách để sử dụng khi sử dụng Java 8 trở lên. Nếu không, chẳng hạn như Android, hãy sử dụng Joda-Time. Các lớp java.util.Date/.CalWiki nổi tiếng là rắc rối và nên tránh.
java.util.Date & .CalWiki
final long timestamp = new Date().getTime();
// with java.util.Date/Calendar api
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
// here's how to get the minutes
final int minutes = cal.get(Calendar.MINUTE);
// and here's how to get the String representation
final String timeString =
new SimpleDateFormat("HH:mm:ss:SSS").format(cal.getTime());
System.out.println(minutes);
System.out.println(timeString);
Joda-Thời gian
// with JodaTime 2.4
final DateTime dt = new DateTime(timestamp);
// here's how to get the minutes
final int minutes2 = dt.getMinuteOfHour();
// and here's how to get the String representation
final String timeString2 = dt.toString("HH:mm:ss:SSS");
System.out.println(minutes2);
System.out.println(timeString2);
Đầu ra:
24
09: 24: 10: 254
24
09: 24: 10: 254
java.time
long millisecondsSinceEpoch = 1289375173771L;
Instant instant = Instant.ofEpochMilli ( millisecondsSinceEpoch );
ZonedDateTime zdt = ZonedDateTime.ofInstant ( instant , ZoneOffset.UTC );
DateTimeFormatter formatter = DateTimeFormatter.ofPattern ( "HH:mm:ss:SSS" );
String output = formatter.format ( zdt );
System.out.println ( "millisecondsSinceEpoch: " + millisecondsSinceEpoch + " instant: " + instant + " output: " + output );
mili giâySinceEpoch: 1289375173771 tức thì: 2010-11-10T07: 46: 13.771Z đầu ra: 07: 46: 13: 771