我将字符串转换为日期,如下所示:
String date = Date_.get(position).substring(0,19);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
它工作正常,但我担心我是否需要设置时区?我的意思是我有一个这样的字符串:'2014-01-01 00:00:00' 那么为什么我需要settimezone
(如果需要的话)?
最佳答案
是的,你应该......甚至摆脱警告:D
你可以像这样使用Locale.getDefault()
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",Locale.getDefault());
还有TimeZone.getDefault() ...
//编辑
public static void main(String[] args) {
String pattern = "yyyy-MM-dd HH:mm:ss";
Date date = new Date();
String defaultFmt = new SimpleDateFormat(pattern).format(date);
for (Locale locale : Locale.getAvailableLocales()) {
String localeFmt = new SimpleDateFormat(pattern, locale).format(date);
if (!localeFmt.equals(defaultFmt)) {
System.out.println(locale + " " + localeFmt);
}
}
}
关于java - 我应该设置时区将字符串转换为日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22750251/