簡體   English   中英

如何從設置日期數據類型中的引用更改日期格式

[英]How to change date format from setting it reference in date data type

我在日期對象中獲取日期

Date s = ((java.util.Date) ((Object[]) object)[++i]);

我需要設置此格式20130509 06:00

所以為此我選擇了..

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm");
    String s1 = sdf.format(s);

現在我的任務是將日期對象放回字符串s1,請告知如何實現

Date 沒有一個文本格式-甚至時區或日歷。 距unix時代只有幾毫秒的時間。 Date沒有任何設置。

您需要區分基本數據和該數據的文本表示形式,就像int值16等於0x10一樣。 我想不出有什么合適的時間攜帶日期本身的文本表示形式。 在程序的各個位置,您可能會發現您需要在同一日期使用不同的表示形式,但是在該程序的特定部分, 所有日期通常是相同的表示形式。

順便說一句,您應該考慮使用Joda Time而不是java.util.Date它為您提供了更豐富的類型集,因此您可以表達程序實際處理的內容(只是一個日期,只是一個時間)。 ,特定時區中的日期/時間等)。

理想情況下,您不應嘗試轉換為String格式並再次返回。 您應該保留原始值,並且僅將String格式用於顯示目的。

否則,您可以使用SimpleDateFormat.parse方法。

我建議您使用Joda時間...鑒於您所擁有的,您可以做到

sdf.parse

@Test
public void testDateStringConversion() throws ParseException {
    Date date  = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm");
    String s1 = sdf.format(date);

    Date date2 = sdf.parse(s1);               // seconds won't match
    String s2 = sdf.format(date2);
    assertEquals(s1, s2);
}

暫無
暫無

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

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