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

      在Java日期格式化中,用到的日期操作类主要有Date,Calendar,DateFormat,SimpleDateFormat。

      

    Date

    类Date表示特定的瞬间,精确到毫秒。

    现在Date类中的方法基本上都不用了,不推荐直接使用Date类。

    package com.fuwh.date;
    
    import java.util.Date;
    
    public class DateTest01 {
    
        public static void main(String[] args) {
            Date date=new Date();
            System.out.println(new Date());
        }
    }
    View Code

    Calendar

    Calendar类是一个抽象类。它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

    该类中提供了丰富多样的日期操作类。

     实例

    package com.fuwh.calendar;
    
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    
    public class CalendarTest01 {
        public static void main(String[] args) {
            Calendar calendar=new GregorianCalendar();
            /*
             * 输出如下格式的日期
             * 2017年03月06日20时33分50秒258毫秒
             */
            StringBuffer dateTime=new StringBuffer();
            dateTime.append(calendar.get(Calendar.YEAR)).append("年");
            dateTime.append(addZero(calendar.get(Calendar.MONTH)+1,2)).append("月");
            dateTime.append(addZero(calendar.get(Calendar.DATE),2)).append("日");
            dateTime.append(addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append("时");
            dateTime.append(addZero(calendar.get(Calendar.MINUTE),2)).append("分");
            dateTime.append(addZero(calendar.get(Calendar.SECOND),2)).append("秒");
            dateTime.append(calendar.get(Calendar.MILLISECOND)).append("毫秒");
            
            System.out.println(dateTime.toString());
        }
        
        public static String addZero(int temp,int len){
            StringBuffer s=new StringBuffer();
            s.append(temp);
            if(s.length()<len){
                s.insert(0, "0");
            }
            return s.toString();
        }
    }
    View Code

    DateFormat/SimpleDateFormat

    DateFormat类是在java.text包中,Format类的子类。是一个抽象类。通常使用其子类SimpleDateFormat来取得指定格式的日期或者日期格式的转化。

    在SimpleDateFormat类中,通过指定模式,来对日期进行格式化。

    字母 日期或时间元素 表示 示例
    G Era 标志符 Text AD
    y 年 Year 1996; 96
    M 年中的月份 Month July; Jul; 07
    w 年中的周数 Number 27
    W 月份中的周数 Number 2
    D 年中的天数 Number 189
    d 月份中的天数 Number 10
    F 月份中的星期 Number 2
    E 星期中的天数 Text Tuesday; Tue
    a Am/pm 标记 Text PM
    H 一天中的小时数(0-23) Number 0
    k 一天中的小时数(1-24) Number 24
    K am/pm 中的小时数(0-11) Number 0
    h am/pm 中的小时数(1-12) Number 12
    m 小时中的分钟数 Number 30
    s 分钟中的秒数 Number 55
    S 毫秒数 Number 978
    z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
    Z 时区 RFC 822 time zone -0800

    主要方法:

    public final String format(Date date):将一个Date格式化为日期/时间字符串

    public Date parse(String source) throws ParseException:从给定字符串的开始解析文本,以生成一个日期,该方法不使用给定字符串的整个文本

     实例

    package com.fuwh.format;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class FormatTest01 {
        public static void main(String[] args) {
            //取得某固定模式的时间戳
            SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmssSSS");
            System.out.println(sdf.format(new Date()));
        }
    }
    View Code

  • 相关阅读:
    bzoj1257 [CQOI2007]余数之和sum
    bzoj1053 [HAOI2007]反素数ant
    bzoj3680 吊打XXX
    CodeVS1344 线型网络
    bzoj1925 [Sdoi2010]地精部落
    2016年北大高代考研题解答
    巴塞尔问题(Basel problem)的多种解法
    积分计算题
    PDF添加水印的办法
    Matlab技巧1:在同一坐标系上绘制两个函数图像
  • 原文地址:https://www.cnblogs.com/zerotomax/p/6501284.html
Copyright © 2011-2022 走看看