java - 我应该设置时区将字符串转换为日期吗?

标签 java android date-format android-date

我将字符串转换为日期,如下所示:

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/

相关文章:

javascript - 从日期获取月份名称

java - java DateFormat 问题

java - 在 Hibernate 中,两个实体如何与第三个实体具有多对多的单向关系?

java - 如何修复使用 JavaFX 12 在 Swing 中创建 JFXPanel 时出现的异常

android - 当我处于离线状态时,Firestore 添加方法无法正常工作

安卓;从普通 Activity 启动和停止 openGL 动画

java - 通过匹配字符串中的日期格式使用 Java 提取日期

java - 如何通过位操作转换大小写?

java - Ant 可以在构建 jar 文件时确定依赖关系吗

android - notifyItemRangeChanged() 导致 RecyclerView Android 崩溃