Java 的Date类问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:32:29
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
public static void main(String args[]){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
String dateStr = "2009-08-28";
try{Date date = sdf.parse(dateStr);
System.out.print(date);}catch(Exception e){}
}
}

上述程序运行后结果如下:
Wed Jan 28 00:08:00 CST 2009
我想问为什么是一月28号?我不是设了8月28号吗?
我要怎么写它才能设成8月28号?

yyyy-mm-dd应该改成yyyy-MM-dd

小写的m代表的是分钟..

public class DateTest {
public static void main(String args[]){
SimpleDateFormat sdf = new SimpleDateFormat("2009-08-28","yyyy-mm-dd");

System.out.print(sdf); }
}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
中间的mm应该改成大写MM,小写的是表示分钟,大写的表示为月份。
此例中没有给出月份所以程序默认的是一月,即初始月。

mm小些是指的分钟,要大写MM才是指月份的
改一下就好了,你看你的时间上分钟是8分钟的,呵呵,其实不是多复杂的问题
把yyyy-mm-dd改成yyyy-MM-dd

yyyy-MM-dd hh:mm:ss zzzz
这个是年月日小时分钟秒毫秒的格式。
要哪一部分就把哪一部分贴进去,其中-,:等可以换成任意其他符号或中文

我试了下,你吧2009-08-28改成2009-07-28你会发现结果是Wed Jan 28 00:07:00 CST 2009,改变的是时间的8和7,去看看api,是不是哪里对应错了。月份应该是默认的哦