zoukankan      html  css  js  c++  java
  • 关于时间与日历

    获取UTC时间,但是设置了全局的TimeZone,导致后面的时间都是以此Zone为准:

    TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
    Calendar cal = Calendar.getInstance();
    Date date = cal.getTime();

    用时差计算UTC时间:

        public static Date getCurrentUTCTime() {
            Calendar calendar = Calendar.getInstance();
            int offset = calendar.get(Calendar.ZONE_OFFSET); 
            calendar.add(Calendar.MILLISECOND, -offset);
            return calendar.getTime();
        }
    

     MySql数据库中的日期类型字段,对应java中的Date类应该使用java.sql.Date或者java.sql.Timestamp,都是继承了java.util.Date.

      注:java.sql.Date只精确到年月日

    UTC转Local时间:

        /**
         * 功能描述: 数据库中的utc时间转换为指定格式本地时间
         */
        public static String utcToLocal(Date utc, String format) {
            if (null == utc) {
                return null;
            }
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            String utcStr = sdf.format(utc);
            return utcToLocal(utcStr, format, format);
        }
    
        /**
         * 功能描述: 将指定格式的UTC时间转为指定格式的本地时间字符串
         */
        public static String utcToLocal(String utcStr, String utcFormat, String localFormat) {
            SimpleDateFormat sdf = new SimpleDateFormat(utcFormat);
            sdf.setTimeZone(TimeZone.getTimeZone(TIMEZONE_UTC));
            Date utc = null;
            try {
                utc = sdf.parse(utcStr);
            } catch (ParseException e) {
                LOGGER.error("parse find wrong.", e);
            }
            sdf = new SimpleDateFormat(localFormat);
            sdf.setTimeZone(TimeZone.getDefault());
            return sdf.format(utc);
        }
    

      

  • 相关阅读:
    简单的倒计时 时间显示
    git submodule
    使用选择器语法来查找元素
    yo bootstrap mui 使用对比
    flexbox 兼容安卓4.3
    mac 下 php 安装 中的坑
    微信网页开发
    能发送http请求(get,post)的工具
    h5宣传页制作过程中遇到的问题
    功能模块图、业务流程图、处理流程图、ER图,数据库表图(概念模型和物理模型)画法
  • 原文地址:https://www.cnblogs.com/fengdeng/p/8527029.html
Copyright © 2011-2022 走看看