`
exceljava
  • 浏览: 160272 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java时间之-java.util.Date解析

    博客分类:
  • java
阅读更多

           java的时间处理我们习惯上用java.util.Date. 尽管java.util.Calender功能更加实用。今天忽然又用到了,发现它麻雀虽小,五脏俱全。很有发掘的必要。

           对于java.util.Date.是我们用得最多的,但其实它还是在jdk1.1中定义的,好多方法已经被deprecated。详见官方的jdk说明:

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。

 

            尽管如此,还是说一下,java.util.Date 中的getYear()方法,它是从1900作为起点开始的,所以今年通过getYear()的到的整数是109而不是我们认为的2009. 所以,要想得到2009,我们必须getYear()+1900才是我们想要的。
           getMonth()方法得到的integer的范围是0-11,也就是说0是一月,11代表12月,所以通常我们需要getMonth()+1才是我们期待的真正的月份。
           其他相应的,日期1-31,小时0-23,分钟0-59,秒0-61,这里的秒为什么有60和61,涉及到润秒的问题。可能大家只听说润年还从来没听说过润秒吧。要知详情,可以参考jdk文档。这里就不累述了。
          下面看看代码的演示及结果。
        

public static void main(String[] args) {
Date date=new Date();
System.out.println(”现在的时间是:”+date);// 现在的时间是:Wed Jan 07 12:24:59 CST 2009
System.out.println(”年:”+(date.getYear()+1900));// 年:2009
System.out.println(”月:”+(date.getMonth()+1));//月:1
System.out.println(”日:”+date.getDate());// 日:7
System.out.println(”时”+date.getHours());// 时12
System.out.println(”分”+date.getMinutes());// 分24
System.out.println(”秒”+date.getSeconds());//秒59
}

 

 

          关于java.util.Date 我们常用的方法还有两个,一个是它的带参构造函数Date(long int),一个是它的成员方法getTime(),返回时间所表示的毫秒数。其他的Date(String str), parse(String str)都可以将时间字符串转换为时间,但是均已deprecated,如果需要,建议用DateFormat.parse(String s)。
          DateFormat是abstract class,无法实例化为具体的对象,更多的时间处理我们实用它的子类SimpleDateFormat.下面看看如何利用DateFormat进行String和Date的相互转换。
         

public static void main(String[] args) throws ParseException {
//string转换为日期
DateFormat df=new SimpleDateFormat(”yyyy-MM-dd hh-mm-ss”);
String str=”2008-08-08 08-08-08″;
Date stringDate=df.parse(str);//显示结果:Fri Aug 08 08:08:08 CST 2008
//日期转为String
DateFormat df2=new SimpleDateFormat(”yyyy年MM月dd日 hh时mm分ss秒”);
String dateString=df2.format(stringDate);//显示结果:2008年08月08日 08时08分08秒
}

 

分享到:
评论

相关推荐

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    ### Java.util.Date与Java.sql.Date互转及字符串转换为日期时间格式 #### 一、Java.util.Date与Java.sql.Date的基本概念 在Java编程语言中,处理日期和时间时经常使用到`java.util.Date`和`java.sql.Date`这两个类...

    jdk-8u191-linux-x64.tar.gz

    - **Date和Time API的改进**:提供了新的`java.time`包,取代了旧的`java.util.Date`和`Calendar`,提供更直观、线程安全的日期时间操作。 - **默认方法**:在接口中可以定义默认实现,避免破坏已有的实现。 - **...

    java.util.Date与java.sql.Date相互转换

    `java.util.Date` 主要用于表示具体的瞬间,而 `java.sql.Date` 专门用于SQL语句中,代表没有时间部分的日期。因此,在进行数据库操作时,这两种日期类型的相互转换变得尤为重要。 #### 两种日期类的关系 从继承...

    java.sql.date与java.util.date.pdf

    - `java.util.Date`适用于日常日期时间处理,而`java.sql.Date`更专注于与数据库的交互。 - 在处理数据库中的日期时,`java.sql.Date`避免了时间部分带来的混淆,提高了数据的一致性。 - 转换时要注意时间戳的保留和...

    jdk-8u281-linux-x64.tar.zip

    3. **新日期时间API**:Java 8引入了`java.time`包,提供了一个更强大、更易用的日期和时间处理API,取代了之前的`java.util.Date`和`java.util.Calendar`。 4. **Stream API**:提供了一种处理集合的新方式,支持...

    最新版linux jdk-8u251-linux-x64.tar.gz

    - **日期时间API**:`java.time`包替换旧的`java.util.Date`和`java.util.Calendar`,提供了更强大的日期和时间处理功能。 5. **安全与维护**: 保持JDK的更新对于安全性和稳定性至关重要。定期检查Oracle官网的...

    jdk-8u152-linux-x64.tar.gz 【jdk1.8,jdk8,linux 64位版】

    4. **Date and Time API (JSR 310)**: 提供了新的日期和时间类,替代了不完善的`java.util.Date`和`java.util.Calendar`。 5. **默认方法**: 接口中可以定义带实现的方法,增强了接口的灵活性。 6. **Optional 类**:...

    jdk-8u321-linux-x64.tar.gz

    - **Date and Time API (JSR 310)**:提供了全新的日期时间API,比旧的`java.util.Date`和`java.util.Calendar`更强大,更易于使用。 - **接口默认方法**:接口中可以定义默认方法,为接口添加实现,而无需创建新的...

    server-jre-8u211-linux-x64.tar.gz

    新日期与时间API(java.time包)取代了之前容易出错的java.util.Date和Calendar类,提供了更加直观和强大的日期时间操作,例如LocalDate、LocalTime、LocalDateTime等,让日期时间处理变得更为简单。 此外,JDK 1.8...

    jdk-8u101-windows-x64.zip

    - **Date和Time API**:全新的日期和时间API,比旧的java.util.Date和java.util.Calendar更强大且易于使用。 对于Java开发者而言,安装JDK是必备步骤,因为它是编写、测试和运行Java程序的基础。正确配置JDK的环境...

    jdk-8u11-windows-x64.exe

    3. **新日期时间API**:取代了之前的java.util.Date和Calendar,提供了更强大、更直观的日期和时间处理能力。 4. **Stream API**:这是一个用于处理集合的新接口,支持串行和并行流,使得数据处理更加高效和易用。 ...

    java-util大全.rar

    Java的`java.util.Date`和`java.time`包提供了处理日期和时间的方法。`SimpleDateFormat`用于格式化和解析日期,而Java 8引入的`LocalDate`, `LocalTime`, `LocalDateTime`等类提供了更强大、更易用的时间日期API。...

    jdk-8u131-windows-x64.exe

    - **新的日期/时间API**:取代了过时的java.util.Date和Calendar,提供了新的java.time包,包含诸如LocalDate、LocalTime、LocalDateTime等类,提供了更强大且易于使用的日期和时间操作功能。 - **Stream API**:...

    jdk-8u144-linux-i586.tar.gz

    - **新时间日期API**: 提供了`java.time`包,替换原有的`java.util.Date`和`java.util.Calendar`,提供了更直观、更强大的日期时间操作功能。 - **新的开关语句(Switch Expression)**: 支持用更简洁的语法来实现...

    castor-1.0-xml.jar

    xml解析工具类,包含了一下的类: org.castor.util.IdentityMap org.castor.util.IdentitySet org.exolab.javasource.JEnum org.exolab.javasource.JType org.exolab.castor.util.List org.exolab.javasource.Header...

    jdk-8u20-linux-x64.tar.gz

    4. **Date/Time API**:对日期和时间的处理进行了全面重构,提供了更加易用和强大的API,替代了原有的java.util.Date和Calendar。 5. **新类型Optional**:用于解决null引用问题,帮助开发者避免空指针异常,提高...

    java-JDK1.7.zip java-JDK1.7.zip

    10. **新的日期和时间API**:Java 7引入了java.time包,提供了新的日期和时间API,取代了过时的java.util.Date和java.util.Calendar,使日期和时间操作更加直观。 11. **类型注解**:允许在类型声明上使用注解,...

Global site tag (gtag.js) - Google Analytics