DateUtils使用哪个时区?

yeg*_*256 2 java apache-commons

我试图使用DateUtilsfrom apache-commons3,但无法理解它所依赖的时区:

Date date = DateUtils.truncate(date, Calendar.DATE);
Run Code Online (Sandbox Code Playgroud)

怎么知道我在哪个时区?

Dan*_*lan 5

时区是您计算机的默认值.查看源代码,它执行此操作:

    public static Date truncate(Date date, int field) {
        if (date == null) {
            throw new IllegalArgumentException("The date must not be null");
        }
        Calendar gval = Calendar.getInstance();
        gval.setTime(date);
        modify(gval, field, MODIFY_TRUNCATE);
        return gval.getTime();
    }
Run Code Online (Sandbox Code Playgroud)

Calendar.getInstance()的文档说:使用默认时区和语言环境获取日历.

如果你愿意转而使用JodaTime,这里有一种方法可以在JodaTime中做同样的事情:JodaTime相当于DateUtils.truncate()