网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.凤凰浴火 JBuilder 2006新功能赏.
.用lpadmin打印多种内容形式.
.JAVA规则 基本篇.
.jfreechart 的java对象关系简释.
.Spring Web Flow .
.JBUILDERX 初体验.
.Java Web Start 实践.
.技术分享 在Spring中实现事务挂起.
.Lucene --open source text serc.
.concat 方法 (Array).
.JBuilder2005 Servlet开发之开发.
.国内不谈java——硅谷有感.
.JBuilder+WebLogic实现教材管理系.
.使用JSF(Java Server Faces)开.
.抽象类对象类和对象包装类.
.支持运营商从GSM向3G过渡 捷德推.
.抽象类(abstract class)和接口.
.WebSphere MQ传输环境搭建和测试.
.Weblogic 6.0中Servlet的注册方法.
.意外对象.

浅析Java中常见的Date类的应用技巧

发表日期:2008-1-5



  Date 类从Java 开发包(JDK) 1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月,日,和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它。
  
  这种改进旨在更好的处理日期数据的国际化格式。 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数。
  
  创建一个日期对象
  
  让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子。 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间。
  
  
  import java.util.Date;
  
  public class DateExample1
  {
  public static void main
  (String[] args)
  {
  //自己替换[]
  // Get the system date/time
  Date date = new Date();
  
  System.out.println(date.getTime());
  }
  }
  
  在星期六,2001年9月29日,下午大约是6:50的样子,上面的例子在系统输出设备上显示的结果是1001803809710。在这个例子中,值得注重的是我们使用了Date构造函数创建一个日期对象,这个构造函数没有接受任何参数。而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期。
  
  那么,现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了。我们如何才能以一种用户明白的格式来显示这个日期呢?在这里类java.text.SimpleDateFormat和它的抽象基类 java.text.DateFormat 就派得上用场了。
  
  日期数据的定制格式
  
  假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年。 下面的例子展示了如何完成这个工作:
  
  import java.text.SimpleDateFormat;
  import java.util.Date;
  
  public class DateExample2
  {
  
  public static void main
  (String[] args)
  {
  //自己替换[]
  
  SimpleDateFormat bartDateFormat =
  new SimpleDateFormat
  ("EEEE-MMMM-dd-yyyy");
  
  Date date = new Date();
  
  System.out.println
  (bartDateFormat.format(date));
  }
  }
  
  只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式。 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分。 EEEE是星期, MMMM是月, dd是日,yyyy是年。字符的个数决定了日期是如何格式化的。传递"EE-MM-dd-yy"会显示 Sat-09-29-01。
  
  将文本数据解析成日期对象
  
  假设我们有一个文本字符串包含了一个格式化了的日期对象,而我们希望解析这个字符串并从文本日期数据创建一个日期对象。 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类,但是这一次,我们使用格式化解析而不是生成一个文本日期数据。我们的例子,显示在下面,将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象。
  
  例子程序:
  
  import java.text.SimpleDateFormat;
  import java.util.Date;
  
  public class DateExample3
  {
  
  public static void main
  (String[]args)
  {
  //自己替换[]
  // Create a date formatter
  that can parse dates of
  // the form MM-dd-yyyy.
  SimpleDateFormat bartDateFormat
  =
  new SimpleDateFormat("MM-dd-yyyy");
  
  // Create a string containing
  a text date to be parsed.
  String dateStringToParse = "9-29-2001";
  
  try {
  // Parse the text
  version of the date.
  // We have to perform
  the parse method in a
  // try-catch constrUCt
  in case dateStringToParse
  // does not contain a date in
  the format we are eXPecting.
  Date date =
  bartDateFormat.parse(dateStringToParse);
  
  // Now send the parsed
  date as a long value
  // to the system output.
  System.out.println(date.getTime());
  }
  catch (Exception ex)
  {
  System.out.println(ex.getMessage());
  }
  }
  }
  
  使用标准的日期格式化过程
  
  既然我们已经可以生成和解析定制的日期格式了,让我们来看一看如何使用内建的格式化过程。
上一篇:学习深入Java 1.5枚举类型的内部 人气:628
下一篇:讲述在Java中Decorate的三种实现方法 人气:563
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐