2016-08-03 54 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; 
相關問題