TimeZone类(时区类)

每一个地区都有时区id ,就是国际上面认定的时区,比如东八区,北京时间,美国时间,都有一定的时差,在计算机里面,可以根据时区id进行获取每一个地方的时间。

TimeZone 表示时区偏移量

TimeZone对象

我们可以先获取对象,这个对象里面就保存了关于时区的全部的东西

getDefault() 获取本地的时区对象

一般我们就使用上面的,获取本地的时区就可以了,我们可以看到本地的时区id是上海的。
那么全世界还有哪些时区id呢?

getAvailableIDs() 获取全世界的时区id


也就是我们根据这个方法,获取全世界的 时区id

getAvailableIDs(int rawOffset) 根据偏移量获取时区id

也就是根据偏移量 筛选出符合条件的 时区id

getTimeZone(String ID)


我们获取了那么多的 时区id,想要使用某一个时区的时候,就可以这样设置了。

getDisplayName()

也就是展示 时区 名称

getID() 获取到当前的时区id


Calender 类 概念

calender对象里面有什么

这个对象里面的东西如下:

java.util.GregorianCalendar
[time=1639895999171,
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=2021,
MONTH=11,
WEEK_OF_YEAR=52,
WEEK_OF_MONTH=4,
DAY_OF_MONTH=19,
DAY_OF_YEAR=353,
DAY_OF_WEEK=1,
DAY_OF_WEEK_IN_MONTH=3,
AM_PM=1,
HOUR=2,
HOUR_OF_DAY=14,
MINUTE=39,
SECOND=59,
MILLISECOND=171,
ZONE_OFFSET=28800000,
DST_OFFSET=0


]

根据上面的返回值,我们可以知道,返回的东西为当前时间全部的日期对象

可以直接根据字段摘要获取东西

从源码里面学习这个Calender类

setTime()


我们前端传过来的时间是字符串类型,我们要对这个时间进行操作,那么就可以转为Calender 这个对象,进行操作,因为这个类里面的方法是很多的,可以对时间进行各种各样的操作。


 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date parse = sdf.parse("2025-05-09");

  Calendar c = Calendar.getInstance();
  c.setTime(parse);

  System.out.println(sdf.format(c.getTime()));

get()

获取当前calendar对象的某些字段


获取到传过来的时间的 年月日 等其他字段进行操作

add(int field, int amount)

对前段传过来的时间 进行 增加或者 减少 几年,几个月,几天等其他