[英]Android - change Date Format to dd/mm/yy
Calendar calendar = Calendar.getInstance();
String currentDate = DateFormat.getDateInstance(DateFormat.SHORT).format(calendar.getTime());
我正在嘗試獲取當前日期,但格式為 DD/MM/YY,但它給了我 MM/DD/YY 關於如何修復它的任何建議?
您可以使用SimpleDateFormat
class:
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
String currentDate = sdf.format(calendar.getTime());
我假設您想反轉日期格式。
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date date = fmt.parse(dateString);
SimpleDateFormat fmtOut = new SimpleDateFormat("dd-MM-yyyy");
return fmtOut.format(date);
希望會有所幫助。
現代方法使用java.time類。
LocalDate
.now
(
ZoneId.of( "Africa/Casablanca" )
)
.format
(
DateTimeFormatter.ofPattern( "dd/MM/uu" )
)
您正在使用幾年前被 JSR 310 中定義的現代java.time類取代的糟糕的日期時間類。
對於僅日期值,沒有時間和時區,請使用LocalDate
。
需要時區來確定當前日期。 對於任何特定時刻,日期在日本可能是“明天”,而在墨西哥仍可能是“昨天”。
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;
生成帶有標准 ISO 8601 格式文本的字符串。
String output = ld.toString() ;
生成帶有自定義格式文本的字符串。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uu" ) ;
String output = ld.format( f ) ;
java.time框架內置於 Java 8 及更高版本中。 這些類取代了麻煩的舊日期時間類,例如java.util.Date
、 Calendar
和SimpleDateFormat
。
要了解更多信息,請參閱Oracle 教程。 並在 Stack Overflow 上搜索許多示例和解釋。 規范是JSR 310 。
現在處於維護模式的Joda-Time項目建議遷移到java.time類。
您可以直接與數據庫交換java.time對象。 使用符合JDBC 4.2或更高版本的JDBC 驅動程序。 不需要字符串,不需要java.sql.*
類。 Hibernate 5 & JPA 2.2 支持java.time 。
從哪里獲得 java.time 課程?
我正在嘗試獲取當前日期,但格式為 DD/MM/YY,...
不。 相信用戶最了解他或她的語言環境,並且 Java 中內置的語言環境數據最了解該語言環境的正確日期格式。 雖然 2020 年 4 月 24 日可能是您所在地區的一種很好的格式,但在其他地區的設備上,可能首選不同的格式。
使用 java.time,現代 Java 日期和時間 API:
DateTimeFormatter dateFormatter
= DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
LocalDate d = LocalDate.now(ZoneId.systemDefault());
System.out.println(d.format(dateFormatter));
順便說一句,在許多地區,包括意第緒語、加勒甘語、印度尼西亞語、烏茲別克語、塔吉克語、索馬里語、馬來語、意大利語和新西蘭英語,output 將是您所說的您想要的:
2020 年 4 月 24 日
我建議您使用 java.time 進行約會。 DateFormat
是一個出了名的麻煩 class,而且Calendar
的設計也很糟糕。 兩者都已經過時了。 而且 java.time 使用起來要好得多。
java.time 適用於較舊和較新的 Android 設備。 它只需要至少Java 6 。
org.threeten.bp
導入日期和時間類。java.time
。java.time
到 Java 6 和 7 的 backport(ThreeTen for JSR-310)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.