【问题标题】:Converting MySQL Date to Java Date : Android将 MySQL 日期转换为 Java 日期:Android
【发布时间】:2014-04-13 13:58:56
【问题描述】:

我得到一个值

2014-04-13

来自mysql。

我使用了这个代码

String date = "2014-04-13";


try {
        SimpleDateFormat formatter = new SimpleDateFormat("dd MMM, yyyy", java.util.Locale.getDefault());
    Date convertedDate = (Date) formatter.parse(date);
    Log.d("Date", convertedDate.toString());
} catch (ParseException e) {

    e.printStackTrace();
}

转换不会发生。它给出了一个解析异常,并且 android 应用程序也被停止了。

我希望输出为

2014 年 4 月 4 日

【问题讨论】:

  • 您的日期模式和输入字符串不匹配...
  • 你为什么要从 MySQL 得到一个 string 呢?数据库中的类型是什么?如果它不是日期列,为什么不是日期列?
  • 你是什么意思@Reimeus给我一个例子
  • @Ruch1234 "2014-04-13" 的格式不是"dd MMM, yyyy"
  • @JonSkeet 它的日期数据类型。但 json 数组将其作为字符串获取。

标签: java android mysql date


【解决方案1】:

我搞定了

try {
    SimpleDateFormat readFormat = new SimpleDateFormat( "yyyy-MM-dd", java.util.Locale.getDefault());
    SimpleDateFormat writeFormat = new SimpleDateFormat( "dd MMM, yyyy", java.util.Locale.getDefault());

    java.util.Date convertedDate = readFormat.parse( date );

    String formattedDate = writeFormat.format( convertedDate );

    Log.d("Date", formattedDate);

} catch (ParseException e) {

    e.printStackTrace();
}                   }

【讨论】:

  • 应该非常小心地使用默认语言环境
  • @Salauyou 为什么会这样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 2021-06-07
  • 1970-01-01
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
相关资源
最近更新 更多