黑马程序员技术交流社区

标题: Date日期 [打印本页]

作者: 明光照    时间: 2012-9-19 21:35
标题: Date日期
java中将Date格式化成年月日的方法有几种。
作者: 张 涛    时间: 2012-9-19 21:42
可以去看DateFormat类,顾名思义,日期格式,这里可以定义成各种你想要的日期格式。

作者: 张忠豹    时间: 2012-9-19 22:13
在日常的实际开发中基本上用的都是DateFormat的子类的来实现的,基本上你所需要的日期格式都能够给实现,详细的情况请参见JavaAPI,如下:
SimpleDateFormat(String pattern)  用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)  用给定的模式和日期符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern, Locale locale)  用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat。
作者: 汪小照    时间: 2012-9-19 22:22
java中的日期处理类有这样几个类:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类
其实时间主要有以下几个类。
时的相关的类:
1)java.until.Date
2)java.util.Calendar
3)java.util.GregorianCalendar

其中GregorianCalendar继承Calendar。也就是说GregorianCalendar除了有Calendar的所有
方法外,还有自己的一些方法。主要处理时间,日历的一些相关操作。

Date是一种时间类型,这种类型在java中时间类型,使用很多,但是有关于时间的处理都可以用java.util.Calendar进行处理。
java.util.Calendar只有getTime()返回的是Date格式。从中可以看出Date除了是一种类型给其它方法使外,他的方法都被
java.util.Calendar代替。

2)date和Calendar可以相互转换,通过setTime或getTime()方法等。把date转成Calendar可以对时间进行一些处理,
如,比较、到得年、月、日,第一周等信息。

还一个类用来处理时间的格式的:
SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。

SimpleDateFormat的方法不多,可以看出他主要是用于文本到时间,时间到文件的转换(按照指定的格式)
此类继承于。java.text.DateFormat

总结:可以看出SimpleDateFormat用于输出指定格式和文本进行转换,而Calendar用于对时间进行操作,但两者有一定的共同点,他们都能输出
年、月、日,只不过SimpleDateFormat主要是处理Date,但Calendar本身就是一个日期或者说日历。

作者: 张飞年    时间: 2012-9-19 22:49
本帖最后由 张飞年 于 2012-9-19 22:51 编辑

1.日期格式化 日期的格式化,使用转义符,把Date类的实例对象格式化。 例如返回年月日中的日,实例代码如下: Date date = new Date(); String day = String.fotmat("%te",date); 以上代码变量day值是当前日期中的天数,如今天是23号,则day是23."%te"是转换符,常用日期和时间格式符如下表: %te 一个月中某一天 2 %tb 制定语言环境月份 Feb,二月 %tB 指定语言环境月份全程 February,二月份 %ta 指定语言环境星期几 Mon,星期一 %tA 指定语言环境星期几全称 Minday,星期一 %tc 包括全部日期和时间信息 星期一 四月 23 13.13.14.15CST 2008 %tY 4位年份 2008 %tj 一年中的第几天 054 %tm 月份 03 %td 一个月中第几天 13 %ty 两位年份 08 执行结果: 今天是:2011年 今天是:七月 今天是:22号.
  1. public class MyDate {      
  2.   public static void main(String[] args) {         
  3.     Date date = new Date();// 创建当前时间对象         // 开始格式化日期     
  4.     String year = String.format("%tY", date);     
  5.     String month = String.format("%tB", date);     
  6.     String day = String.format("%td", date);     
  7.     System.out.println("今天是:" + year + "年");     
  8.     System.out.println("今天是:" + month);     
  9.     System.out.println("今天是:" + day + "号");  
  10.   }  
  11. }
复制代码
2.时间格式化 使用fotmat()方法不但可以完成日期的格式化,也可以实现时间的格式化。时间的格式化要比日期的更精确,它可以将时间格式化为分,秒,毫秒。其格式符如下: %th 2位数字的24小时制的小时(00-23) 14 %tI 2位数字的12小时制的小时(01-12) 05 %tk 2位数字的24小时制的小时(0-23) 5 %tl 2位数字的12小时制的小时(1-12) 10 %tM 2位数字的分钟(00-59) 05 %tS 2位数字的秒数(00-60) 12 %tL 3位数字的毫秒数(000-999) 920 %tN 9位数字的微秒数 %tp 指定语言环境的上下午标记 上午下午 %tz 相对于GMT RFC 82格式的数字时区偏移量 +0800 %tZ 时区缩写形式字符串 CST %ts 1970-01-01 00:00:00 到现在经过的秒数 %tQ 1970-01-01 00:00:00 到现在经过的毫秒数 结果:现在是:10点59分54秒
  1. public class MyDate {     
  2. public static void main(String[] args) {         
  3.     Date date = new Date();//创建当前时间对象         // 开始格式化时间     
  4.     String hour = String.format("%tH", date);     
  5.     String minute = String.format("%tM", date);  
  6.     String second = String.format("%tS",date);         
  7.     System.out.print("现在是:" + hour+"点");        
  8.     System.out.print(minute+"分");        
  9.     System.out.print(second + "秒");   
  10.   }  
  11. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2