2013-04-01 211 views
-1

我在java中格式化日期時遇到了問題。 我有一個購物類,其中包含字符串中的項目名稱,int中的數量和Date中的日期。
在運行類中,我試圖運行此查詢。Java日期格式

Date date = new Date(202020); 
SimpleDateFormat dateformat = new SimpleDateFormat("dd-mm-yy"); 
String date1 = dateformat.format(date); 

Shopping shoplist1 = new Shopping ("iphone", 2, date); 

當我嘗試創建一個新的購物昂貴的日期日期不格式。我不知道爲什麼,但它給了我星期四1月1 1時03分22秒格林尼治標準時間1970年

+3

你逝去的日期,而不是日期1 – Abi

+0

我試圖添加日期1,但它不會允許它。它說字符串不能轉換爲日期。 – user2231376

回答

1

從您的評論:

「我試圖添加日期1,但它不會允許它它說不能將字符串轉換成日期。」

你傳入串到你構造函數,但看起來它可能需要java.util.Date對象

Shopping shoplist1 = new Shopping ("iphone", 2, date); 

更改你的構造函數簽名拿一個String對象

OR

傳遞的日期對象和任何其他有關場所進行格式化

1

變化SimpleDateFormat dateformat = new SimpleDateFormat("dd-mm-yy");SimpleDateFormat dateformat = new SimpleDateFormat("dd-MM-yyyy");

如果我清楚地記得,小mm平均分沒有一個月

Read this post about date formatting

也如同@zvzdhk,你錯誤地使用日期構造函數。

+0

這沒有奏效,但謝謝你的建議。 – user2231376

3

您正在使用錯誤的Date class constructor

Date date = new Date(202020); 

您試圖分配Date對象並初始化,以表示自從稱爲「劃時代」的標準基準時間指定的毫秒數,即手段1970年1月1日,格林威治標準時間00:00:00。

你應該使用這樣的事情:

Shopping shoplist1 = new Shopping ("iphone", 2, 
     new SimpleDateFormat("dd-MM-yy").parse("20-20-20")); 

閱讀文檔,以獲得DateFormat#parse(...)DateFormat#format(...)

+0

解析給我錯誤,它要我聲明它。我是否使用導入? – user2231376

+0

@ user2231376當然,你必須導入'java.text.SimpleDateFormat' – bsiamionau

0
  • 之間更差你從時間戳創建日期實例(1970毫秒)。我想這不是你想要做的。
  • 您將日期格式化爲字符串並傳遞日期。如果你想使用格式化日期,你必須傳遞字符串。