`
chaoyi
  • 浏览: 287437 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

日期操作类(DateFormat、SimpleDateFormat)

 
阅读更多

本章目标
掌握日期格式化的操作
可以使用SimpleDateFormat进行日期的格式化转换操作
编写取得日期的操作类

 

DateFormat
在java.util.Date类中实际上取得的时间是一个非常正确的时间。但是因为其显示的格式不理想,所以无法符合国人的喜好,那么实际上此时就可以为此类进行格式化操作,变为符合于中国人的日期格式。
另外要提醒读者的是DateFormat类与MessageFormat类都属于Format类的子类,专门用于格式化数据使用

 

观察DateFormat中的默认操作

import java.text.DateFormat;
import java.util.Date;
public class DateDemo03 {
	public static void main(String[] args) {
		DateFormat df1 =null;//声明 DateFormat 类对象
		DateFormat df2 =null;//声明 DateFormat 类对象
		df1 = DateFormat.getDateInstance();//取得日期
		df2 = DateFormat.getDateTimeInstance();//取得日期时间
		System.out.println("DATE:"+df1.format(new Date()));//格式化日期
		System.out.println("DATETIME:"+df2.format(new Date()));
	}
/* 结果:
 * DATE:2014-6-18
 * DATETIME:2014-6-18 18:57:27
 * */
}

 

指定显示的风格

import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class DateDemo04 {
	public static void main(String[] args) {
		DateFormat df1 = null;//声明 DateFormat 类对象
		DateFormat df2 = null;//声明 DateFormat 类对象
		//取得日期,并设置日期显示风格
		df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));
		//取得日期时间,设置日期的显示格式、时间的显示格式
		df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN"));
		System.out.println("DATE:"+df1.format(new Date()));
		System.out.println("DATETIME:"+df2.format(new Date()));
	}
/* 结果:
 * DATE:2014年6月18日
 * DATETIME:2014年6月18日 下午07时04分19秒 CST
 * */
}

 

SimpleDateFormat
在项目开发中,会经常将一个日期格式转换为另外一种日期格式,如下所示:
——原日期:2008-10-19 10:11:30.345
——转换后日期:2008年10月19日 10点11分30秒345毫秒
从以上的两个日期可以发现,日期的数字完全一样,只是日期格式有所不同而已,要想实现以上的转换功能就必须使用java.text包中的SimpleDateFormat类完成。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo05 {
	public static void main(String[] args) {
		String strDate = "2008-10-19 10:11:30.345";//定义日期时间的字符串
		//准备第 1 个模板,从字符串中提取日期数字
		String pat1 = "yyyy-MM-dd HH:mm:ss.SSS";
		//准备第 2 个模板,将提取后的日期数字变为指定的格式
		String pat2 = "yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒 SSS 毫秒";
		//实例化模式对象
		SimpleDateFormat sdf1 = new SimpleDateFormat(pat1);
		//实例化模式对象
		SimpleDateFormat sdf2 = new SimpleDateFormat(pat2);
		Date d = null;
		try{
			d=sdf1.parse(strDate);//将给定字符串中的日期提取出来
		}catch(ParseException e){
			e.printStackTrace();//如果提供的字符串格式有错误,则进行异常处理
		}
		//将日期变为新的格式
		System.out.println(sdf2.format(d));
	}
/* 结果:
 * 2008 年 10 月 19 日 10 时 11 分 30 秒 345 毫秒
 * */
}

 

格式化模板
如果想完成转换,首先必须先定义出一个完整的日期转化模板,模板中通过特定的日期标记可以将一个日期格式中的日期数字提取出来。

 

 

 

 

 

  • 大小: 36 KB
  • 大小: 41.1 KB
分享到:
评论

相关推荐

    java常用工具类的使用

    在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。 2. java.util.Date类 Date类包装了毫秒值,毫秒值表示自1970年1月1...

    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 容器...

    Android静默安装常用工具类

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

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

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

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

    实例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范例开发大全

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

Global site tag (gtag.js) - Google Analytics