`

Java日期操作类(DateFormat、SimpleDateFormat)

 
阅读更多
2012-05-24 16:17

Java日期操作类(DateFormat、SimpleDateFormat)

public abstract class DateFormat
extends Format

DateDormat

此类是一个日期的格式化类,专门的格式化日期的操作,因为java.util.Date类本身就已经包含了完整的日期,所以只有将此日期格式化显示就行了

此类是一个抽象类,按照思路,只见使用其子类实例化子类即可。到那时DateFormat类本身的内部提供了可以直接为其实例化的操作

static ()
          获取为日期和时间使用 SHORT 风格的默认日期/时间格式器。

 

static ()
          获取日期格式器,该格式器具有默认语言环境的默认格式化风格。

package com.qn.test;

import java.text.DateFormat;
import java.util.Date;


public class Test1 {
 public static void main(String[] args) {
        DateFormat df1=null;
        DateFormat df2=null;
        df1=DateFormat.getInstance();//得到日期的DataFormat对象
        df2=DateFormat.getDateInstance();//得到日期时间的的DataFormat对象
        System.out.println("Date:"+df1.format(new Date()));//按照日期格式化
        System.out.println("Date:"+df2.format(new Date()));//按照日期时间格式化后
 }
}

结果

 

通过此类可以直接将Date类的显示进行合理的格式化操作,此时采用的是默认的格式化操作,也可以通过Locale对象指定要显示的区域,如中国

package com.qn.test;

import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;


public class Test2 {
 public static void main(String[] args) {
        DateFormat df1=null;
        DateFormat df2=null;
        df1=DateFormat.getDateInstance(DateFormat.DATE_FIELD,new Locale("zh","CN"));//得到日期的DataFormat对象
        df2=DateFormat.getDateInstance(DateFormat.ERA_FIELD,new Locale("zh","CN"));//得到日期时间的的DataFormat对象
        System.out.println("Date:"+df1.format(new Date()));//按照日期格式化
        System.out.println("Date:"+df2.format(new Date()));//按照日期时间格式化后
 }
}

结果

这样的格式化很麻烦有一些常量

下面是SimpleDateFormat类

此类的功能是完成日期的显示格式化的,如将一种日期格式变为另一种日期格式
如原始日期 2008-10-19 10:11:30.235
转换后的日期:2008年10月19日 10点11分30秒235毫秒
这个时候就需要使用SimpleDateFormat类了,要准备一个模板,用于转换

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

日期和时间模式 结果 "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT "EEE, MMM d, ''yy" Wed, Jul 4, '01 "h:mm a" 12:08 PM "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time "K:mm a, z" 0:08 PM, PDT "yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM "EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700 "yyMMddHHmmssZ" 010704120856-0700 "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700



在SimpleDateFormat类使用的时候,必须注意的是在构造对象的时候要传入匹配的模板
构造方法SimpleDateFormat(String pattern)
          用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

转换 public Date parse(String source)取得全部的时间数

格式化 public final String format(Date date)将时间从新格式化为字符串显示

事例

package com.qn.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Test2 {
 public static void main(String[] args) {
  String strDate="2008-10-19 10:11:30.345";
  //定义模板从字符串中提取数字
  String path1="yyyy-MM-dd HH:mm:ss.SSS";
  //定义模板将取出来的日期转换成指定格式
  String path2="yyyy年MM月dd日  HH时mm分ss秒SS毫秒";
  SimpleDateFormat sdf1=new  SimpleDateFormat(path1);
  SimpleDateFormat sdf2=new  SimpleDateFormat(path2);
  Date d=null;
  try {
   d=sdf1.parse(strDate);//从给定的字符串中提取出来日期
  } catch (ParseException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println(sdf2.format(d));//将日期变为新的格式
  
 }
}

结果


分享到:
评论

相关推荐

    日期操作类(DateFormat、SimpleDateFormat)

    NULL 博文链接:https://chaoyi.iteye.com/blog/2082317

    java常用工具类的使用

    在Java程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模式...

    Java开发详解.zip

    031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期笔记.pdf 031108_【第11章:Java常用类库】_Math与Random类笔记.pdf...

    JAVA基础课程讲义

    DateFormat类和SimpleDateFormat类 125 Calendar日历类 126 可视化日历的编写 128 Math类 131 File类 132 File类的基本用法 132 树状结构展现文件结构 133 枚举 133 上机作业 135 第七章 容器(Collection) 136 容器...

    java范例开发大全源代码

     实例194 使用SimpleDateFormat类获取系统的当前时间 329  实例195 显示某年某月某一周的信息 330  实例196 显示某年某月的信息 332  实例197 时间的设置与获取 334  实例198 万年历(农历和阳历的互换...

    java范例开发大全

    实例194 使用SimpleDateFormat类获取系统的当前时间 329 实例195 显示某年某月某一周的信息 330 实例196 显示某年某月的信息 332 实例197 时间的设置与获取 334 实例198 万年历(农历和阳历的互换) 337 11.4 ...

    Java范例开发大全 (源程序)

     实例194 使用SimpleDateFormat类获取系统的当前时间 329  实例195 显示某年某月某一周的信息 330  实例196 显示某年某月的信息 332  实例197 时间的设置与获取 334  实例198 万年历(农历和阳历的互换) ...

    Java范例开发大全(全书源程序)

    实例194 使用SimpleDateFormat类获取系统的当前时间 329 实例195 显示某年某月某一周的信息 330 实例196 显示某年某月的信息 332 实例197 时间的设置与获取 334 实例198 万年历(农历和阳历的互换) 337 11.4 ...

    java范例开发大全(pdf&源码)

    实例194 使用SimpleDateFormat类获取系统的当前时间 329 实例195 显示某年某月某一周的信息 330 实例196 显示某年某月的信息 332 实例197 时间的设置与获取 334 实例198 万年历(农历和阳历的互换) 337 11.4 ...

    Android静默安装常用工具类

    1、HttpUtils Http网络工具类,主要包括...getTime(long timeInMillis, SimpleDateFormat dateFormat) 将long转换为固定格式时间字符串 源码可见TimeUtils.java,更多方法及更详细参数介绍可见TimeUtils Api Guide。

Global site tag (gtag.js) - Google Analytics