zoukankan      html  css  js  c++  java
  • Java中日期格式化SimpleDateFormat类包含时区的处理方法

    1.前言

    需要把格式为“2017-02-23T08:04:02+01:00”转化成”23-02-2017-T15:04:02“格式(中国时区为+08:00所以是15点),通过网上查找答案,发现没有我需要的答案,最后我直接查看了java.text.SimpleDateFormat类的介绍,问题解决了。

    2.格式所对应的表示方法如下

    3.案例分析

    3.1 格式若转为或解析2017-02-23T08:04:02+01:00,样例代码如下: 

    //2017-02-23T08:04:02+01:00
    String changedTime = "2017-02-23T08:04:02+01:00"; 
    String pattern = "dd-MM-yyyy-'T'HHmmss";
    String pattern_ori = "yyyy-MM-dd'T'HH:mm:ssX";
    SimpleDateFormat ft = new SimpleDateFormat(pattern);
    SimpleDateFormat ft_ori = new SimpleDateFormat(pattern_ori);
        
    String date = null;
    try {
    date = ft.format(ft_ori.parse(changedTime));
    } catch (ParseException e) {
     // TODO Auto-generated catch block
    e.printStackTrace();
    }

    3.2 格式若转为22-Feb-2016-T010441,可以用“dd-MMM-yyyy-'T'hhmmss” 然后加上第二参数Locale.ENGLISH。 

    //22-Feb-2016-T010441
    Date date = new Date();
    SimpleDateFormat sdf = new  SimpleDateFormat("dd-MMM-yyyy-'T'hhmmss",Locale.ENGLISH); 
    String ret = sdf.format(date); //22-Feb-2016-T010441
    SimpleDateFormat sdf2 = new  SimpleDateFormat("dd-MM-yyyy-'T'hhmmss",Locale.ENGLISH); 
    String ret2 = sdf.format(date); //22-02-2016-T010441
    SimpleDateFormat sdf3 = new  SimpleDateFormat("dd-MMM-yyyy-'T'hhmmss"); 
    String ret3 = sdf.format(date); //22-二月-2016-T010441
    SimpleDateFormat sdf3 = new  SimpleDateFormat("dd-MM-yyyy-'T'hhmmss"); 
    String ret3 = sdf.format(date); //22-02-2016-T010441

    4.总结

    还是多看看API所提供的一手资料,SimpleDateFormat类的其它方法也是类似的。

  • 相关阅读:
    在网页中实现截屏粘贴的功能
    CSS3 @font-face 做自定义图标
    Visual Studio报错一箩筐(持续更新)
    Axure实现vcg官网首页原型图
    Axure实现bootstrap首页线框图
    Web第一天——准备篇
    vue动态加载组件
    组件封装之将代码放到npm上
    node连接mysql生成接口,vue通过接口实现数据的增删改查(二)
    autoCAD2007 快捷键 标注
  • 原文地址:https://www.cnblogs.com/fanbi/p/6437933.html
Copyright © 2011-2022 走看看