2 回答

TA貢獻(xiàn)1893條經(jīng)驗 獲得超10個贊
ThaiBuddhistDate
班級
您可以使用 ajava.time.chrono.ThaiBuddhistDate
來完成此操作,請參閱以下示例:
public?static?void?main(String[]?args)?throws?ParseException?{ ????ThaiBuddhistDate?tbd?=?ThaiBuddhistDate.now(ZoneId.systemDefault()); ????System.out.println(tbd.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); }
我在系統(tǒng)上得到的輸出是
2562-10-24
大多數(shù)java.time功能在ThreeTen-Backport項目?中向后移植到 Java 6 和 Java 7?。在ThreeTenABP中進(jìn)一步適應(yīng)了早期的 Android (<26)?。

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊
因為您已經(jīng)在使用java.util.Calendar和java.text.SimpleDateFormat。
如果您可以在實例化日歷時更改區(qū)域設(shè)置,那么這應(yīng)該可行:
val thaiCalendar = Calendar.getInstance(Locale("th", "TH"))
println(thaiCalendar.get(Calendar.YEAR)) // prints 2562
但是,如果您只想更改格式,這對我有用:
val notThaiCalendar = Calendar.getInstance()
val thaiFormatter = SimpleDateFormat("yyyy-MM-dd", Locale("th", "TH"))
println(thaiFormatter.format(notThaiCalendar.time)) // prints 2562-10-24
編輯
此解決方案未在 Android 上測試
添加回答
舉報