簡體   English   中英

讀取和寫入CSV文件的日期和時間

[英]Read and write date and time into CSV file

我需要能夠將當前日期(年,月,日)和時間(小時,分鍾,秒)存儲到CSV文件中,然后再讀取它們。

為了創建日期我試圖使用

Date date = new Date();

構建當前日期,但是當我

date.toString();

它給了我一個非常優雅的字符串來描述日期和時間,它似乎無法存儲到CSV文件中,以后可以閱讀。 那么如何以可以在以后閱讀的格式寫入CSV文件?

另外,閱讀CSV文件,我發現了類似的建議

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date d = df.parse("17/02/2015 01:18:15");

這是否可能,基於先前輸出的格式? 我有什么例外可以抓住這個用途?

感謝任何幫助。 謝謝

要寫日期格式的日期:

DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
System.out.println(df.format(date));

要解析日期,請使用相同的格式:

DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = df.parse("17/02/2015 01:18:15");

根據您的使用情況,您可能還會發現明確設置時區(例如UTC)是值得的,這樣無論本地機器的時區/夏令時等如何,您都可以獲得相同的結果。

df.setTimeZone(TimeZone.getTimeZone("UTC"));

或者,您可以使用基礎long (自紀元以來的毫秒),在...之上構建日期...

來寫:

Date date = new Date();
System.out.println(date.getTime());

讀書:

long dateValue = // As read from the file
Date date = new Date(dateValue);

就個人而言,我會使用DateFormat ,即使它更冗長,也更有效,因為它會使文件內容變得人性化。

如果您需要有關讀/寫文件或異常處理的幫助,我建議您提出單獨的問題。

您可以嘗試將數據存儲為Unix時間戳 (只是一個長數字)。

閱讀這個問題弄清楚如何獲得UNIX時間戳和這個弄清楚如何將其轉換回一個Date對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM