【问题标题】:Android cannot compare dates with yyyy-MM-dd format [duplicate]Android无法将日期与yyyy-MM-dd格式进行比较[重复]
【发布时间】:2015-12-29 05:11:43
【问题描述】:

Android 将日期与yyyy/MM/dd 格式进行比较时,仅在与yyyy-MM-dd 格式进行比较时才会强制关闭。

final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",
Locale.getDefault());
String d = "2016/12/29";
expiryDate = (Date) formatter.parse(d);

【问题讨论】:

  • 怎么可能。你已经定义了“- - -”和你的字符串“///”
  • 你试过SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd", Locale.getDefault());吗?顺便说一句,这是 Java 不是 php,对吧?
  • 要么将您的字符串更改为“- - -”格式,要么将您的SimpleDateFormat更改为“/ / /”
  • 我正在从 php 服务器获取日期。
  • 发帖前请先搜索 StackOverflow。这个话题已经被讨论过很多次了。

标签: java android date


【解决方案1】:

希望这篇文章对你有所帮助。

 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

          try {

       Date finalStartTime = format.parse(YOUR_OLD_DATE);
       Date finalEndTime = format.parse(YOUR_NEW_DATE);

      if (finalEndTime.after(finalStartTime)) {
                   //your code
                }
         } catch (ParseException e) {
                        }

如果还是不行请告诉我...

【讨论】:

  • 非常感谢。
【解决方案2】:

只需将“-”更改为“/”即可:

final SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",
    Locale.getDefault());
    String d = "2016/12/29";
 try {
        expiryDate = (Date) formatter.parse(d);
    } catch (ParseException e) {
        //do something
    }

【讨论】:

    【解决方案3】:
    final SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
    String d = "2016/12/29";
    Date expiryDate = formatter.parse(d);
    

    【讨论】:

    • 错误答案。检查他的问题
    猜你喜欢
    • 2013-03-18
    • 2010-09-22
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    相关资源
    最近更新 更多