更新
您可以使用时区标记时间以解决国际化问题,对吗?
如果是这样,我认为将您的日期转换为UTC日期可能会更好.当您更改为另一个时区时,只需将此UTC日期转换为本地时间即可.
public static Date localToUtc(Date localDate) {
return new Date(localDate.getTime()-TimeZone.getDefault().getOffset(localDate.getTime()));
}
public static Date utcToLocal(Date utcDate) {
return new Date(utcDate.getTime()+TimeZone.getDefault().getOffset(utcDate.getTime()));
}
旧答案
如果您的notif.At是Dateobject,则实际上是一个相同的问题:
TimeZone tz = TimeZone.getDefault();
Date date = new Date();
final String format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
String result = sdf.format(date);
Log.d("Date ", "date: " + result + " " + tz.getDisplayName(false, TimeZone.SHORT));
打印:
date: 2015-03-31 18:45:28 GMT+08:00