<%@ page contentType="text/html; charset=gb2312"%> 浅析Java中Data类的实际应用
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
浅析Java中Data类的实际应用
     发布者: 发布时间:2007-12-20
 

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. 请察看Sun 公司的Web 站点获取日期格式化选项的完整的指示.


将文本数据解析成日期对象


假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期数据创建一个日期对象. 我们将再次以格式化字符串"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());

}
 }


使用标准的日期格式化过程


既然我们已经可以生成和解析定制的日期格式了, 让我们来看一看如何使用内建的格式化过程. 方法 DateFormat.getDateTimeInstance() 让我们得以用几种不同的方法获得标准的日期格式化过程. 在下面的例子中, 我们获取了四个内建的日期格式化过程. 它们包括一个短的, 中等的, 长的, 和完整的日期格式.

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

public class DateExample4 {

 public static void main(String[] args) { //自己替换[]

Date date = new Date();


DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);


DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);


DateFormat longDateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);


DateFormat fullDateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);


System.out.println(shortDateFormat.format(date));

System.out.println(mediumDateFormat.format(date));

System.out.println(longDateFormat.format(date));

System.out.println(fullDateFormat.format(date));
 }


注意我们在对 getDateTimeInstance的每次调用中都传递了两个值. 第一个参数是日期风格, 而第二个参数是时间风格. 它们都是基本数据类型int(整型). 考虑到可读性, 我们使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和 FULL. 要知道获取时间和日期格式化过程的更多的方法和选项, 请看Sun 公司Web 站点上的解释.
 

运行我们的例子程序的时候, 它将向标准输出设备输出下面的内容:

9/29/01 8:44 PM
Sep 29, 2001 8:44:45 PM
September 29, 2001 8:44:45 PM EDT
Saturday, September 29, 2001 8:44:45 PM EDT


TAG:
data



(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
有效使用final关键字的准则
对EJB中Session Bean的见解
JAVA高级:多核线程-volatile原理与技巧
JAVA中具有实例缓存的不可变类
深入探讨、理解Java的CLASSPATH
JAVA基础知识精华总结
 
最近评论:
        
buying wow account
阿里巴巴buying wow account资讯,汇聚最新的buying wow account价格动向、提供全面的buying wow account新闻、buying wow account导购、buying wow account查询、buying wow account车型参数、buying wow account图片等buying wow account信息。 浙江恒峰buying wow account公司,致力于从buying wow account客户立场出发,提供有效的buying wow account计划和buying wow account平面设计作品.本buying wow account公司服务范围有中国文化buying wow account网,以探索中国buying wow account,介绍中国文化与中国buying wow account,并提供相应的buying wow account接待服务、buying wow account商品和buying wow account咨询服务八达buying wow account, 河南buying wow account服务网, 时代之旅网, 桂林buying wow account商务网, 普陀山buying wow account热线, 中国buying wow account联盟在线, 四川buying wow account网6787673@WOWGOLDS.COM
        
loyalty card
中国lotro gold网是lotro gold行业的lotro gold推广、lotro gold采购、lotro gold技术、lotro gold会展、lotro gold招标行业平台中国路牌lotro gold网,lotro gold牌超市,北京路牌lotro gold,路牌lotro gold,路牌lotro gold公司lotro gold行业综合信息网站,提供lotro gold新闻,lotro gold政策法规和政府最新lotro gold公告。慧聪louis vuitton设有louis vuitton资讯,louis vuitton展示,louis vuitton市场行情,louis vuitton营销,louis vuitton交易市场,louis vuitton咨询,louis vuitton论坛 金山在线Lowest Mortgage Rates服务. 金山Lowest Mortgage Rates服务. 金山Lowest Mortgage Rates优势. 金山Lowest Mortgage Rates公司介绍 loyalty card公司-专业广州loyalty card公司, 严格的loyalty card质量控制体系、规范化的loyalty card运作流程和独特的loyalty card审核标准为您打造精品loyalty card服务。6787671@WOWGOLDS.COM
        
wow gold
wow gold,旅行社,wow gold网,中国wow gold门户网站,提供wow gold网址,wow gold搜索引擎,wow gold网址大全,各地wow gold网6787671@WOWGOLDS.COM
        
wow gold
北京wow gold维修,wow gold维修,wow gold修理,维修wow gold,北京wow gold维修,wow gold修理,北京维修wow gold西安报纸wow gold报价,西安电视wow gold报价,华商报wow gold报价,西安楼宇电视wow gold楼梯阿里巴巴wow gold资讯,汇聚最新的wow gold价格动向、提供全面的wow gold新闻、wow gold导购、wow gold查询、wow gold车型参数、wow gold图片等wow gold信息。 杭州wow gold网、杭州wow gold公司;wow gold设计公司、杭州户外wow gold、杭州wow gold印刷厂
        
google排名
南京地区出境google排名,国内google排名,南京google排名产品开发,南京google排名项目推广,南京google排名景点图文展示,南京google排名交通及南京google排名典故介绍6787671@WOWGOLDS.COM
        
wow gold
中国wow gold网是wow gold行业的wow gold推广、wow gold采购、wow gold技术、wow gold会展、wow gold招标行业平台6787671@WOWGOLDS.COM
        
google排名
我们竭诚为您提供云南google排名,昆明google排名,丽江google排名及云南全省的全方位的google排名服务。河北google排名河北省google排名|河北google排名网|河北省google排名网|河北google排名公司|河北省google排名公司含西藏google排名要闻、google排名须知和当地google排名最新告示。是中国最大的google排名媒体网站,并以及时的google排名新闻、海量的google排名资讯和独到的google排名信息分析,为广大google排名爱好者
        
wow gold
wow gold公司的杰出代表语翼上海wow gold公司是中国优秀的语言wow gold服务提供商!语翼wow gold公司依托强大wow gold资源6787671@WOWGOLDS.COM
        
wow gold
河南wow gold网;中原wow gold网;商都wow gold;中原wow gold展; wow gold展览网易爱星wow gold联盟-wow gold,网络wow gold,wow gold联盟,彩信联盟,短信联盟,互联网wow gold日文wow gold公司,专业日语wow gold公司,上海环球时代wow gold公司为你提供专业日语wow gold,日语口译日语陪同wow gold添加wow gold数据 定制wow gold价格 支付wow gold费用 博客选择wow gold 网民点击wow goldh0O1l3a@lalael.com
        
鍥炲
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号