zoukankan      html  css  js  c++  java
  • java的日期格式化

    原博客地址: http://blog.csdn.net/yangbobo1992/article/details/9965105

    日期格式: 

    时间日期标识符:  
    yyyy:年  
    MM:月  
    dd:日   
    hh:1~12小时制(1-12)  
    
    HH:24小时制(0-23)  
    mm:分  
    ss:秒   
    S:毫秒   
    E:星期几  
    D:一年中的第几天  
    F:一月中的第几个星期(会把这个月总共过的天数除以7)  
    w:一年中的第几个星期  
    W:一月中的第几星期(会根据实际情况来算)  
    a:上下午标识  
    k:和HH差不多,表示一天24小时制(1-24)。  
    K:和hh<span style="font-family: Arial, Helvetica, sans-serif;">差不多</span><span style="font-family: Arial, Helvetica, sans-serif;">,表示一天12小时制(0-11)。</span>  
    z:表示时区  

    要注意其中的大小写哦,不然会格式化后的日期会很乱的哦!!!

    同时没个字母可以写多个,如:yyyyyyyyyyy。根据你的数大小,根据写的字母的长度,在前面补零。

    比如:你要把2013 - 08 - 13 15:29:44这个时间格式化成2013 年 08 月 13 日 15 时 29 分 44 秒

    一不小心把格式化日期中时间标识符中的大小写搞错了。

    例子1:  会有线程安全问题

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyyyyy-MM-dd HH(hh):mm:ss S E D F w W a k K z");  
            long times = System.currentTimeMillis();  
            System.out.println(times);  
            Date date = new Date(times);  
            String tim = sdf.format(date);  
            System.out.println(tim);  

    输出: 

    00002013-08-14 15(03):56:40 742 星期三 226 2 33 3 下午 15 3 CST  

    例子2: 

    SimpleDateFormat sdf = new SimpleDateFormat("现在是yyyy年MM月dd日 HH(hh)时   mm分 ss秒 S毫秒   星期E 今年的第D天  这个月的第F星期   今年的第w个星期   这个月的第W个星期  今天的a k1~24制时间 K0-11小时制时间 z时区");  
            long times = System.currentTimeMillis();  
            System.out.println(times);  
            Date date = new Date(times);  
            String tim = sdf.format(date);  
            System.out.println(tim);  

    输出: 

    现在是2013年08月14日 16(04)时   03分 03秒 812毫秒   星期星期三 今年的第226天  这个月的第2星期   今年的第33个星期   这个月的第3个星期  今天的下午 161~24制时间 40-11小时制时间 CST时区  

    String Date Calendar 之间的转换: 

    原文地址: http://www.cnblogs.com/qima/p/3652566.html

    1, Calendar转String: 

    Calendar calendat = Calendar.getInstance();
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    
    String dateStr = sdf.format(calendar.getTime());

    2, String 转Calendar

    String str="2012-5-27";
    
    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
    
    Date date =sdf.parse(str);
    
    Calendar calendar = Calendar.getInstance();
    
    calendar.setTime(date);
    
     

    3, Date 转String

    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
    
    String dateStr=sdf.format(new Date());

    4, String 转Date

    String str="2012-5-27";
    
    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
    
    Date date= sdf.parse(str);

    5, Date 转 Calendar

    Calendar calendar = Calendar.getInstance();
    
    calendar.setTime(new java.util.Date());

    6, Calendar 转 Date

    Calendar calendar = Calendar.getInstance();
    
    java.util.Date date =calendar.getTime();

    7, String 转 TimeStamp

    Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");

    8, Date 转 TimeStamp

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
    String time = df.format(new Date());
    
    Timestamp ts = Timestamp.valueOf(time);

    **注意: 

    使用java原生的SimpleDataFormat或者 Calendar的话, 会产生县城安装问题, 因为在其内部实现中, 引用了一个成员变量

    可以使用 commons.long3 包下的 fastDateFormat来进行转换

      内部有一个 ThreadLoad, 来支持, 所以不会产生资源问题

  • 相关阅读:
    Tomcat Jboss,jetty,Apache WebLogic区别与比较(阿里面试)
    zookeeper 负载均衡 核心机制-实现原理 包含ZAB协议(滴滴,阿里面试)
    六大Web负载均衡原理与实现
    LVS(Linus Virtual Server):三种IP负载均衡方式比较+另三种Web负载均衡方式
    JTable动态刷新数据
    java当中的定时器的4种使用方式
    java如何判断编码是否是utf8编码
    Java多线程-线程的同步与锁
    java中需要用equals来判断两个字符串值是否相等
    libcurl使用easy模式阻塞卡死等问题的完美解决---超时设置
  • 原文地址:https://www.cnblogs.com/wenbronk/p/6890572.html
Copyright © 2011-2022 走看看