我在日期对象中获取日期
Date s = ((java.util.Date) ((Object[]) object)[++i]);
我需要设置此格式20130509 06:00
所以为此我选择了..
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm");
String s1 = sdf.format(s);
现在我的任务又是把日期对象放回字符串s1,请告知如何实现这个
答案 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);
}