如何更改日期格式,在日期数据类型中设置引用

时间:2013-08-06 10:49:31

标签: java

我在日期对象中获取日期

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

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

所以为此我选择了..

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

现在我的任务又是把日期对象放回字符串s1,请告知如何实现这个

3 个答案:

答案 0 :(得分:0)

Date 没有文本格式 - 甚至不是时区或日历。从unix时代开始,这只是几毫秒。 Date内无需设置任何内容。

您需要区分基本数据和该数据的文本表示 - 与int值16与0x10相同。我无法想到任何时间,我发现它适合用日期本身进行日期的文本表示。在程序的不同位置,您可能会发现在同一日期需要不同的表示形式 - 但它通常与程序特定部分的所有日期相同。

顺便说一下,你应该考虑使用Joda Time而不是java.util.Date - 它为你提供了更丰富的类型集,你可以表达你的程序实际处理的内容(只是日期,时间,特定时区的日期/时间等。)

答案 1 :(得分:0)

理想情况下,您不应该尝试转换为String格式并再次返回。您应该保留原始值,只使用String格式仅用于显示目的。

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

答案 2 :(得分:0)

我建议使用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);
}