版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java日期类型日期类型 Java中处理日期的类主要有Date、Calendar和DateFormat三个,在JDK中它们对应的包的位置和相关的派生类如下所示: 1、 Date:具体类java.util.Date(程序) java.sql.Date (数据库)2、 Calendar:抽象类java.text.DateFormat,它派生的一个子类为java.text.SimpleDateFormat 3、 DateFormat:抽象类java.util.Calendar,它派生的一个子类为java.util.GregorianCalendar 对Date类的分析 Date 类从JDK 1.0开
2、始进化, 当时它只包含了几个简单的处理日期数据的方法。 由于这些方法实用性差,现在基本上被Calendar类中各方法所代替了。这种改进目的是为了更好的处理日期数据国际化格式。 Date 类实际上只是一个包裹类, 它包含一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数 为了加深对Date类的理解,列举如下一个简单例子来说明Date的使用: import java.util.Date; public class DateTest1 public static void main(String args) Date da
3、te = new Date(); System.out.println(date.getTime(); 系统输出如下结果: 1001803809710 在这个例子中,值得我们注意的是我们使用了Date 构造函数创建一个日期对象,在没有任何参数的情况下,这个构造函数会自动调用System.currentTimeMillis() 方法来获取当前系统日期。对DateFormat类的分析 如果我们希望定制日期数据的格式, 比如显示的日期格式为:2006年06月23日,抽象类java.util.Calendar和它的子类java.util.GregorianCalendar能完成这一功能。 下面的例子展
4、示了如何完成这个工作: import java.util.SimpleDateFormat; import java.util.Date; public class DateTest2 public static void main(String args) SimpleDateFormat format = new SimpleDateFormat(yyyy年MM月dd日,Locale.US); Date date = new Date(); System.out.println(bartDateFormat.format(date); 只要通过向SimpleDateFormat 的构造函数
5、传递格式字符串“ yyyy年MM月dd日”, 我们就可以指明自己想要的格式. 其中yyyy是年,MM是月,dd是日。 字符的个数决定了日期是如何格式化的,如果格式为yyyy年MM月dd日就会显示 06年06月23日;如果是yy- MM-dd就显示06-06-23。 对Calendar 类的分析 如果想设置、获取、操纵一个日期对象的各个特定部分,比如获得小时、日、分钟,计算一个月的某一天说星期几等等。这样的情况就需要抽象类java.util.Calendar和它的子类来处理。 为了能清楚地说明问题,列举下面的例子, 它的功能是计算第十个星期五是13号。 import java.util.Greg
6、orianCalendar; import java.util.Date; import java.text.DateFormat; public class CalendarTest public static void main(String args) DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(new Date(); System.out.println(System Da
7、te: + dateFormat.format(cal.getTime(); cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY); System.out.println(After Setting Day of Week to Friday: + dateFormat.format(cal.getTime(); int friday13Counter = 0; while (friday13Counter = 10) cal.add(GregorianCalendar.DAY_OF_MONTH, 7); if (ca
8、l.get(GregorianCalendar.DAY_OF_MONTH) = 13) friday13Counter+; System.out.println(dateFormat.format(cal.getTime(); 输出结果是: System Date: Saturday, September 29, 2005 总结 在Java通过一下三个类的使用,一般可以满足各种形式的日期使用。 下面列举几种常用的情况: 担当重任担当重任,怎样格式化都行怎样格式化都行 import java.util.Date; import java.text.SimpleDateFormat; public
9、 class Demo public static void main(String args) Date now=new Date(); SimpleDateFormat f=newSimpleDateFormat(今天是今天是+yyyy年年MM月月dd日日 E kk点点mm分分); System.out.println(f.format(now); f=new SimpleDateFormat(a hh点点mm分分ss秒秒); System.out.println(f.format(now); SimpleDateFormat从字符串到日期类型的转换从字符串到日期类型的转换 import
10、java.util.Date; import java.text.SimpleDateFormat; import java.util.GregorianCalendar; import java.text.*; publicclass Demo public static void main(String args) String strDate=2005年年04月月22日日; /注意:注意:SimpleDateFormat构造函数的样式与构造函数的样式与strDate的样的样式必须相符式必须相符 SimpleDateFormat simpleDateFormat=new SimpleDat
11、eFormat(yyyy年年MM月月dd日日); /必须捕获异常必须捕获异常 try Date date=simpleDateFormat.parse(strDate); System.out.println(date); catch(ParseException px) px.printStackTrace(); 将毫秒数换转成日期类型将毫秒数换转成日期类型 import java.util.Date; import java.text.SimpleDateFormat; import java.util.GregorianCalendar; import java.text.*; publ
12、ic class Demo public static void main(String args) long now=System.currentTimeMillis(); System.out.println(毫秒数:毫秒数:+now); Date dNow=new Date(now); System.out.println(日期类型:日期类型:+dNow); 获取系统时期和时间,转换成获取系统时期和时间,转换成SQL格式后更新到数据库格式后更新到数据库 java.util.Date d=new java.util.Date(); /获取当前系统的时间获取当前系统的时间 /格式化日期格式化
13、日期 new java.text.SimpleDateFormat s= new java.text.SimpleDateFormat(yyyy-MM-dd HH:mm:ss); String dateStr = s.format(d); /转为字符串转为字符串 按本地时区输出当前日期按本地时区输出当前日期 Date myDate = new Date(); System.out.println(myDate.toLocaleString(); 输出结果为: 2003-5-30 DecimalFormat df = new DecimalFormat(,#.00); double aNumbe
14、r = 33665448856.6568975; String result = df.format(aNumber); Sytem. out.println(result); 输出结果为:33,665,448,856.66 其他:获取毫秒时间 System.currentTimeMillis(); 在数据库里的日期在数据库里的日期只以年只以年-月月-日的方式输出日的方式输出 定义日期格式: SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd); sql语句为:String sqlStr = select bookDate from roo
15、mBook where bookDate between 2007-4-10 and 2007-4-25; 输出: System.out.println(df.format(rs.getDate(bookDate);经典例子经典例子Date date = from.getAfmdate(); if (null != date) SimpleDateFormat yearFormat = new SimpleDateFormat(yyyy); SimpleDateFormat monthFormat = new SimpleDateFormat(MM); SimpleDateFormat dayFormat = new SimpleDateFormat(dd); to.setAfmYear(yearFormat.format(date); to.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 室内排水管道安装施工工艺及施工方法
- 应急演练影像资料留存与安全教育宣传片制作
- 反应温度超高应急预案演练脚本
- 搭接缝处理技术交底
- 初级护师-外科护理学模拟试题及答案
- 护岸扭王字块安装施工方案及技术措施
- 2026中共南宁市良庆区委员会区直属机关工作委员会招聘1人(广西)笔试题库【考点精练】附答案详解
- 2026华中农业大学植物科学技术学院劳动聘用制科研助理招聘1人(湖北)模拟试卷及参考答案详解【新】
- 第三单元 第01课时 毫米的认识(教学课件)数学人教版三年级上册(新教材)-中考备考真题
- 宁波初中强基试题及答案
- 政法培训心理健康知识课件
- 金华二中分班考数学试卷
- 临床经鼻高流量湿化氧疗护理
- 绒毛膜癌术后护理查房
- 眼镜行计量管理制度
- 泸溪一中2025年上学期高一第十次阶段检测数学试卷及参考答案
- TCEC-抽水蓄能电站润滑油在线监测技术导则编制说明
- 敬业合同协议书范本下载
- 2025年新媒体运营师考试试题及答案
- 2024年临沂市技师学院招聘教师真题
- 物业礼貌礼仪培训内容
评论
0/150
提交评论