2016-08-03 30 views
-1

我有一个测试,检查是否上传文件上传“今天”。我通过比较它与我通过Java SimpleDateFormat进行创建的日期对象来检查字符串。这工作了一段时间,直到网站代码更改并从当天删除0。以下是我在下面有:如何匹配2天是相同但不同的字符串数量

日期此文件是:2016年8月3日

今天的日期是:2016年8月3日

因为在一天,我断言这个零的不再回来有效。我目前正在使用contains()函数来验证文件上传是否正确。

我需要了解如何在现在这一天解决这个缺失的零。有什么建议么?我的日期日期功能如下。我所做的只是在页面上抓住一个字符串并进行比较。

public static String currentDate(){ 

    Date date = new Date(); 
    String modifiedDate = new SimpleDateFormat("MM/dd/yyyy").format(date); 

    return modifiedDate; 
} 
+0

这是一个dup http://stackoverflow.com/questions/4216745/java-string-to-date-conversion – JeffC

回答

1

不要使用字符串比较日期。

对于Java 8创建LocalDate对象,并对它们进行比较。

+0

我现在正在尝试,但我认为在这种情况下,今天的格式将是M/d/yyyy,直到本月10日它将变为M/dd/yyyy。我得到一个java.time.format.DateTimeParseException,因为LocalDate似乎不会考虑这个。我必须为它提供一个从08开始的测试字符串,而我从元素中获得8,否则失败。 –

+1

花更多时间学习如何教Java解析你的日期符号。 –

1

您可以使用它来摆脱月份中的前导0。这是一种方法。乔达可能已经建立了方法。此外,其他的方式可能是您的正常化文件的日期,包括0

String month = today.get(Calendar.MONTH)+""; 


    int monthInt = (int) Integer.parseInt(month)+1; 
    System.out.println(monthInt); 

    String modifiedDate = monthInt+"/"+today.get(Calendar.DATE)+"/"+today.get(Calendar.YEAR); 
    System.out.println(modifiedDate); 
    return modifiedDate; 
相关问题