首页 > 编程语言 > 详细

java.util.Calendar与java.util.Date的互相转换

时间:2020-04-30 17:20:22      阅读:67      评论:0      收藏:0      [点我收藏+]

最近在一个需求中,有一个将java.util.Date与java.util.Calendar互相转换的要求,由于不常用Calendar,遂将转换的代码整理至此,方便查阅。

本地时间转为UTC时间 Calendar => Date

public static Date calendar2Utcdate(Calendar calendar ) {
         /** 取得时间偏移量 */
        int zoneOffset = calendar.get(java.util.Calendar.ZONE_OFFSET);
        /** 取得夏令时差 */
        int dstOffset = calendar.get(java.util.Calendar.DST_OFFSET);
        /** 从本地时间里扣除这些差量,即可以取得UTC时间*/
        // calendar.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
        /** 取得的时间就是UTC标准时间 */
        Date utcDate=new Date(calendar.getTimeInMillis());
        /** 将时间转为指定格式2019-06-21T05:46:02.231Z */
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd‘T‘HH:mm:ss.SSS‘Z‘", Locale.US);
        System.out.println(simpleDateFormat.format(utcDate));
        return utcDate;
}

Date String => Date

/**
     * string  转 date
     * @param dateString
     * @return
     */
    public static Date str2Date(String dateString) {
        SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date date = null;
        try {
            date = sdFormat.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        return date;
}

Date => Calendar(UTC)

public static Calendar date2Calendar(Date date) {
    Calendar calendar = Calendar.getInstance(Locale.US);
    calendar.setTime(date);
    return calendar;
}        

LocalDateTime => Date

Date.from((##.atZone(ZoneId.systemDefault())).toInstant())

 

java.util.Calendar与java.util.Date的互相转换

原文:https://www.cnblogs.com/xfyy-2020/p/12809612.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!