我从数据库中获取一个 Date
数据类型,如下所示 Mon Sep 14 11:30:00 GMT+03:00 2020
。我想将此值更改为一个字符串,所以我使用了这个函数。
public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm";
public static String dateToString(Date date){
DateFormat dateFormat = new SimpleDateFormat(General.DATE_FORMAT);
dateFormat.setTimeZone(TimeZone.getDefault());
if(date == null)
return "";
return dateFormat.format(date);
}
这个函数给了我这个输出 2020-09-14 11:30
但根据我的 Android 设备时间它应该是 2020-09-14 02:30
区。有什么建议吗?
最佳答案
尝试 Locale 的 getDefault()
方法
public static String dateToString(Date date){
DateFormat dateFormat = new SimpleDateFormat(General.DATE_FORMAT, Locale.getDefault());
dateFormat.setTimeZone(TimeZone.getDefault());
if(date == null)
return "";
return dateFormat.format(date);
}
希望它对您有用。谢谢。
关于java - 将 Date 更改为设备本地时区的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63897101/