java.util.Calendar 类的使用,请教

问题描述

CalendarcurrentTime=Calendar.getInstance(TimeZone.getTimeZone("GMT"));CalendardefaultTime=Calendar.getInstance();System.out.println(currentTime);System.out.println(defaultTime);System.out.println(currentTime.getTimeInMillis());System.out.println(defaultTime.getTimeInMillis());output:java.util.GregorianCalendar[time=1301642733907,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=3,WEEK_OF_YEAR=14,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,DAY_OF_YEAR=91,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=7,HOUR_OF_DAY=7,MINUTE=25,SECOND=33,MILLISECOND=907,ZONE_OFFSET=0,DST_OFFSET=0]java.util.GregorianCalendar[time=1301642733907,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=3,WEEK_OF_YEAR=14,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,DAY_OF_YEAR=91,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=25,SECOND=33,MILLISECOND=907,ZONE_OFFSET=28800000,DST_OFFSET=0]13016427339071301642733907我都问下这两个Calendarobject有什么区别?从结果看一样的哟,从打出的毫秒数是一样的,依我直观的想法,GMT时区应该比默认的少8小时哟,但是实际结果却不是这样的,不理解TimeZone了?有理解的指教下.

解决方案

解决方案二:
CalendardefaultTime=Calendar.getInstance();这个返回的是相对于用户所在时区的GWT时间,所以用它获得的时间跟系统时间查8小时。

时间: 2024-12-27 12:17:09

java.util.Calendar 类的使用,请教的相关文章

Java Date Time 教程-java.util.Calendar和GregorianCalendar

目录 实例化GregorianCalendar 获取年.月.日等 增加和减少年.月.日等 陷阱和误区 月份的陷阱 星期几的误区 JavaDoc中的更多细节 Java的java.util.Calendar用于日期和时间的运算.无论任何时候,只要你有一些轻微操作(除了仅仅表示日期和时间)需要执行,那么就使用这个类.(原文:Whenever you have something slightly more advanced than just representing a date and time,

Java日期时间 java.util.Calendar和GregorianCalendar分析

Java的java.util.Calendar用于日期和时间的运算.无论任何时候,只要你有一些轻微操作(除了仅仅表示日期和时间)需要执行,那么就使用这个类.(原文:Whenever you have something slightly more advanced than just representing a date and time, this is the class to use.) java.util.Calendar类是抽象的,意味着你不能对其进行实例化.这么设计的原因是这个世界

关于【java.util.Calendar】类的一些问题

问题描述 上图是对intjava.util.GregorianCalendar.getActualMinimum(intfield)intjava.util.GregorianCalendar.getActualMaximum(intfield)方法的各个取值的一个统计为什么WEEK_OF_YEAR最小值是1而WEEK_OF_MONTH最小值是0呢?二楼上统计程序代码 解决方案 解决方案二:packagemh_net.kingsoft;importjava.util.Calendar;impor

Java的calendar类用法

YEAR  这是哪年 MONTH  这是月(从0开始) WEEK_OF_YEAR 今年的第几星期 WEEK_OF_MONTH 这个月的第几星期(从一开始) DATE  今天几号 DAY_OF_MONTH  这个月的第几天 DAY_OF_YEAR   这一年的第几天 DAY_OF_WEEK   这周周几(从日开始计算,从1计算) DAY_OF_WEEK_IN_MONTH 第几周(从第一天开始算一周) AM_PM  上午还是下午0为上午,1为下午 HOUR 12小时制几点 HOUR_OF_DAY 

能不能获取到java.util.calendar的源码

问题描述 我们都知道这个被封装起来了,sun只提供了接口,但是我不知道是不是开源,网上搜没搜到.我最近在做android的日历,android下的一些获取日期的接口[如getDayAt(introw,intcolumn)]会用到java.util.calendar里面的get(intfield)方法,但是我不太明白其中的参数的意思[如calendar.get(7)].java的docs里是这样解释的:get(intfield)返回给定日历字段的值.在lenient模式下,所有日历字段都被标准化.

HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)

Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it is ? Input There are multiply cases. One line is one case. There are three integers, year(0< year<10000), month(0<=month<13), day(0<

使用java.util.Calendar返回间隔天数

calendar 使用SimpleDateFormat,规定好格式,parser出错即为非法/** * Calculates the number of days between two calendar days in a manner * which is independent of the Calendar type used. * * @param d1    The first date. * @param d2    The second date. * * @return    

图片-import java.util.List类必须手动添加,直接ctrl+shift+o添加不了

问题描述 import java.util.List类必须手动添加,直接ctrl+shift+o添加不了 package day04; import java.util.ArrayList;//这个类是ctrl+shift+o直接自动添加的 import java.util.List;//这个类必须手动添加,直接ctrl+shift+o添加不了 public class Demo9 { public static void main(String[] args) { List list = ne

java.util.ArrayDeque类使用方法详解_java

本文为大家介绍了java.util.ArrayDeque类使用方法,供大家参考,具体内容如下 1. ArrayDeque有两个类属性,head和tail,两个指针. 2. ArrayDeque通过一个数组作为载体,其中的数组元素在add等方法执行时不移动,发生变化的只是head和tail指针,而且指针是循环变化,数组容量不限制. 3. offer方法和add方法都是通过其中的addLast方法实现,每添加一个元素,就把元素加到数组的尾部,此时,head指针没有变化,而tail指针加一,因为指针是