Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过在日期数据类型中设置日期引用来更改日期格式_Java - Fatal编程技术网

Java 如何通过在日期数据类型中设置日期引用来更改日期格式

Java 如何通过在日期数据类型中设置日期引用来更改日期格式,java,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放回date对象,请建议如何实现这一点,date没有文本格式,甚至没有时区或

我正在日期对象中获取日期

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对象,请建议如何实现这一点,date没有文本格式,甚至没有时区或日历。自unix时代以来,这只是毫秒数。在
日期内没有要设置的内容

您需要区分基本数据和该数据的文本表示形式,方法与
int
值16与0x10相同。我想不出有哪一次我觉得用日期本身来表达日期的文本是合适的。在程序中的不同地方,您可能会发现同一日期需要不同的表示法,但在程序的特定部分,所有日期通常都需要相同的表示法


作为一个旁白,你应该考虑使用“代码> java。UTIL.DATE < /Cord>”——它为你提供了一个更丰富的类型的集合,这样你就可以表达你的程序实际处理的(只是一个日期,只是一个时间,一个特定时区的日期/时间等)。您不应该尝试转换为字符串格式并再次转换。您应该保留原始值,并且仅将字符串格式用于显示目的


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

我建议使用Joda time。。。你能做的是什么

解析

@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);
}