【Java学习笔记】Calendar使用工具(时间时区转换、日期计算、获取每月最后一天)

先看工具类定义,后面有调用使用方式package tool;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.TimeZone;/** * 沈杰 * 2020-09-07 09:36:21 * 工具类:日期时间相关 */public class ToolForDateTi
摘要由CSDN通过智能技术生成

先看工具类定义,后面有调用使用方式

package tool;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

/**
 * 沈杰
 * 2020-09-07 09:36:21
 * 工具类:日期时间相关
 */
public class ToolForDateTime {
   
    private static final TimeZone timeZone = TimeZone.getTimeZone("GMT");

    /**
     * 获取当前指定时区的Calendar对象
     *
     * @param hour 相当于格林威治时间的小时数(用以表示时区)
     * @return 指定时区的Calendar对象
     */
    public static Calendar getNowCalendar(Integer hour) {
   
        Calendar calendar = Calendar.getInstance(timeZone);
        calendar.add(Calendar.HOUR, hour);
        return calendar;
    }

    /**
     * 根据时间格式、时间字符串来解析时间,得到对应的Calendar
     *
     * @param format     时间字符串的解析格式
     * @param dateString 时间字符串
     * @return 指定时间字符串在指定格式下对应的Calender对象
     * @throws ParseException 当dateString的格式与指定的format格式不一致时,抛出此异常
     */
    public static Calendar getCalendarByDateString(String format, String dateString, Integer timeZoneHour) throws ParseException {
   
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        Date date = simpleDateFormat.parse(dateString);
        Calendar calendar = Calendar.getInstance(timeZone);
        calendar.setTime(date);
        calendar.add(Calendar.HOUR, timeZoneHour);
        return calendar;
    }

    /**
     * 根据Date获取一个Calendar对象(根据timeZoneHour获取对应的Calendar对象)
     */
    public static Calendar getCalendarByConvertTimeZone(Calendar originalCalendar, Integer originalTimeZoneHour, Integer objectiveTimeZoneHour) {
   
        Calendar calendar = Calendar.getInstance(timeZone);
        calendar.setTime(originalCalendar.getTime());
        calendar.add(Calendar.HOUR, objectiveTimeZoneHour - originalTimeZoneHour);
        return calendar;
    }

    /**
     * 获取指定Calendar的年份
     *
     * @param calendar 已指定了时区的Calendar对象
     * @return 如:2020等
     */
    public static Integer getYearByCalendar(Calendar calendar) {
   
        return calendar.get(Calendar.YEAR
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值