【发布时间】:2015-12-22 14:27:53
【问题描述】:
我有以下代码:
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import org.junit.Test;
public class DateCalendarTest {
@Test
public void test1() {
private final DateFormat df1 = new SimpleDateFormat("MM/dd/yyyy");
String batchdt = "2015/09/23";
System.out.println("Date & Calendar Test: " + batchdt);
Calendar cal = Calendar.getInstance();
Date date1 = df1.parse(batchdt);
cal.setTime(date1);
System.out.println("Date & Calendar Test: " + cal.getTime());
}
}
输出:
Date Calendar Test: 2015/09/23
Date Calendar Test: Mon Nov 09 00:00:00 EST 190
有人能解释一下为什么会这样吗?
【问题讨论】:
-
您期望它的表现如何,为什么? (提示:将您指定的格式与您正在解析的文本进行比较...)
-
第二个输出是默认格式。
-
欢迎来到 Stackoverflow。就目前而言,您的问题很难回答。请提供您遇到的具体问题的信息。
-
那么,问题是什么?看来你约会没问题。如果您指的是
00:00:00部分,那么您应该使用TimeStamp对象而不是日期。 -
Date/Calendar 只是一个 Unix 纪元以来毫秒数的容器,它们没有超出系统默认值的格式概念,通常用于调试,您应该使用 DateFor at of您选择以您想要的方式格式化结果