1

我有一个日期对象 myDate(say)。执行以下操作后:

Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, 9);
cal.set(Calendar.DATE, 24);
cal.set(Calendar.YEAR, 2013);
cal.set(Calendar.HOUR,13);
cal.set(Calendar.MINUTE,45);
cal.set(Calendar.SECOND,52);

我想将 myDate 对象设置为上述值,从而显示以下输出。

Mon Sep 09 13:45:52 PST 2013

请让我知道该怎么做。

4

4 回答 4

4
import java.util.*;

public class DateTest {
    public static void main(String[] args) {
        Date myDate;
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.MONTH, 8);
        cal.set(Calendar.DATE, 24);
        cal.set(Calendar.YEAR, 2013);
        cal.set(Calendar.HOUR,13);
        cal.set(Calendar.MINUTE,45);
        cal.set(Calendar.SECOND,52);
        myDate = cal.getTime();
        System.out.println(myDate);
    }
}
于 2013-02-06T22:21:41.293 回答
1

月份属性从一月 = 零开始。为什么哦,为什么 Sun 做这种违反直觉的事情,我不知道。

导入 java.util.*;

公共类 DateTest {
    公共静态无效主要(字符串[]参数){
        日期我的日期;
        日历 cal = Calendar.getInstance();
        cal.set(Calendar.MONTH, 8);
        cal.set(日历.日期,24);
        cal.set(日历年,2013 年);
        cal.set(Calendar.HOUR,13);
        cal.set(Calendar.MINUTE,45);
        cal.set(Calendar.SECOND,52);
        myDate = cal.getTime();
        System.out.println(myDate);
    }
}

另一个考虑因素是,输出中有一个时区 - 如果您想要 Java 安装的时区,没有问题。如果您想要 PST并且 Java 时区默认值位于 else 某个地方,请使用以下构造函数:

TimeZone timezone = TimeZone.getTimeZone("America/Los_Angeles");
Calendar cal = Calendar.getInstance(timezone);
于 2013-02-07T01:02:30.193 回答
0

你可以写:

myDate.setTime(cal.getTimeInMillis());
于 2013-02-06T22:20:31.830 回答
0

使用SimpleDateFormat

new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy").format(cal.getTime())
于 2013-02-06T22:21:17.580 回答