【问题标题】:Best way to transform date string into an date object [duplicate]将日期字符串转换为日期对象的最佳方法[重复]
【发布时间】:2017-03-01 01:14:51
【问题描述】:

将 October-2016 之类的转换为 Date 对象的最佳方法是什么?

当我尝试使用Date date = new SimpleDateFormat("MMMM-yyyy").parse("October-2016");

它抛出一个异常,因为它不能转换这种类型的日期。

【问题讨论】:

  • 为我工作。也许您的默认语言环境是问题所在?只需使用new SimpleDateFormat("MMMM-yyyy", Locale.US)
  • 哦,是的,问题出在语言环境上。谢谢!

标签: java date simpledateformat


【解决方案1】:

因为字符串 October-2016 包含与语言相关的信息您需要指定 SimpleDateFormat实例中的语言环境

Date date = new SimpleDateFormat("MMMM-yyyy", Locale.US).parse("October-2016");

【讨论】:

  • 谢谢,就是这样!
【解决方案2】:
String st = "October-2016";
        DateFormat format = new SimpleDateFormat("MMMM-yyyy");
        Date date = format.parse(st);
        System.out.println(date); 

两者的工作原理相同:

Date date = new SimpleDateFormat("MMMM-yyyy").parse("October-2016");
        Date date1 = new SimpleDateFormat("MMMM-yyyy", Locale.US).parse("October-2016");
        System.out.println(date); 
        System.out.println(date1); 

【讨论】:

  • 我也是这样做的。
  • @SepDev ya 我认为,但它的工作原理
  • 是的,它可以正常工作,因为您的语言环境是标准设置为 us 但对我来说,我正在使用 2 个不同的语言环境,所以存在问题。
  • @SepDev 但质疑你说它给出错误
  • 是的,因为 java 不知道它是德国时间格式还是我们
猜你喜欢
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
相关资源
最近更新 更多