Java Date

简介: Java Date类的使用总结 Date类表示特定的瞬间,精确到毫秒。有2种方法可以创建Date对象(这里不考虑已过时的构造函数)1、public Date()——分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

Java Date类的使用总结

 

Date类表示特定的瞬间,精确到毫秒。

有2种方法可以创建Date对象(这里不考虑已过时的构造函数)

1、public Date()——分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

1 @Test
2 public void test1() {
3     Date date = new Date();
4     System.out.println(date);
5 }
Sun Oct 23 22:39:14 CST 2016

2、public Date(long date)——根据给定的毫秒值创建日期对象。

1 @Test
2 public void test2() {
3     long time = System.currentTimeMillis();
4     Date date = new Date(time);
5     System.out.println(date);
6 }
Sun Oct 23 22:41:42 CST 2016

介绍完了Date的构造函数后,接下来来看看日期与毫秒值的相互转换

1、public long getTime()——日期转毫秒值

通过getTime方法可以将一个日期类型转换为long类型的毫秒值

1 @Test
2 public void test3() {
3     Date date = new Date();
4     System.out.println(date.getTime());
5 }
1477234414353

2、public void setTime(long time)——毫秒值转日期

复制代码
1 @Test
2 public void test4() {
3     long time = System.currentTimeMillis();
4     Date date = new Date();
5     date.setTime(time);
6     System.out.println(date);
7 }
复制代码
Sun Oct 23 22:53:05 CST 2016

当然也可以通过构造函数public Date(long date)将毫秒值转为日期类型。

通常我们会比较2个日期的大小,Date类提供以下方法用来比较2个日期的相关操作

1、public boolean before(Date when)——测试此日期是否在指定日期之前,当且仅当此Date对象表示的瞬间比when表示的瞬间早,才返回true;否则返回false。

1 @Test
2 public void test5() {
3     Date date1 = new Date(1000);
4     Date date2 = new Date(2000);
5     System.out.println(date1.before(date2));
6 }
true

2、public boolean after(Date when)——测试此日期是否在指定日期之后,当且仅当此Date对象表示的瞬间比when表示的瞬间晚,才返回true;否则返回false。

1 @Test
2 public void test6() {
3     Date date1 = new Date(1000);
4     Date date2 = new Date(2000);
5     System.out.println(date1.after(date2));
6 }
false

3、public int compareTo(Date anotherDate)——比较两个日期的顺序。

如果参数Date等于此Date,则返回值0;如果此Date在Date参数之前,则返回小于0的值;如果此Date在Date参数之后,则返回大于0的值。

1 @Test
2 public void test7() {
3     Date date1 = new Date(1000);
4     Date date2 = new Date(2000);
5     System.out.println(date1.compareTo(date2));
6 }
-1




Java 日期格式化 DateFormat与SimpleDateFormat

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


/**
* 格式化时间类
* DateFormat.FULL = 0
* DateFormat.DEFAULT = 2
* DateFormat.LONG = 1
* DateFormat.MEDIUM = 2
* DateFormat.SHORT = 3
* @author    Michael 
* @version   1.0, 2007/03/09
*/

public class Test{
    public static void main(String []args){
        Date d = new Date();
        String s;
          
        /** Date类的格式: Sat Apr 16 13:17:29 CST 2006 */
        System.out.println(d);
          
        System.out.println("******************************************");   
        
        /** getDateInstance() */ 
        /** 输出格式: 2006-4-16 */
        s = DateFormat.getDateInstance().format(d);
        System.out.println(s);
        
        /** 输出格式: 2006-4-16 */
        s = DateFormat.getDateInstance(DateFormat.DEFAULT).format(d);
        System.out.println(s);
        
        /** 输出格式: 2006年4月16日 星期六 */
        s = DateFormat.getDateInstance(DateFormat.FULL).format(d);
        System.out.println(s);
        
        /** 输出格式: 2006-4-16 */
        s = DateFormat.getDateInstance(DateFormat.MEDIUM).format(d);
        System.out.println(s);
        
        /** 输出格式: 06-4-16 */
        s = DateFormat.getDateInstance(DateFormat.SHORT).format(d);
        System.out.println(s);
        
        /** 输出格式: 2006-01-01 00:00:00 */
        java.text.DateFormat format1 = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        s = format1.format(new Date());
        System.out.println(s);
        
        /** 输出格式: 2006-01-01 01:00:00 */
        System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(new Date()));
        

        /** 输出格式: 2006-01-01 13:00:00 */
        System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()));

        /** 输出格式: 20060101000000***/
        java.text.DateFormat format2 = new java.text.SimpleDateFormat("yyyyMMddhhmmss");
        s = format2.format(new Date());
        System.out.println(s); 
    }
}

补充一下:   
Calendar   cal   =   Calendar.getInstance();   
cal.setTime(new   Date());     
System.out.println("System   Date:   "   +   cal.get(Calendar.MONTH+1));     
注意下,月份是从0开始的,要Calendar.MONTH+1才可以的

 

目录
相关文章
|
7月前
|
Java 关系型数据库 MySQL
37、一篇文章学习 Java 中的日期相关类(Date 和 Calendar),非常常用
37、一篇文章学习 Java 中的日期相关类(Date 和 Calendar),非常常用
78 0
|
7月前
|
Java
关于java获取时间 new Date(),显示“上午、下午”
关于java获取时间 new Date(),显示“上午、下午”
107 0
|
Java p3c
【Java用法】请使用System.currentTimeMillis()代替new Date().getTime()
【Java用法】请使用System.currentTimeMillis()代替new Date().getTime()
149 0
|
Java API
Java之Date类以及SimpleDateFormal类的概述
Java之Date类以及SimpleDateFormal类的概述
79 0
|
3月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
2月前
|
Java
Java的Date类使用
Java的Date类使用
32 0
|
3月前
|
Java API
java date 增加10s后的时间
在 Java 中,要将 `Date` 对象增加 10 秒,可以通过 `Calendar` 类(适用于 Java 8 之前)或 `java.time` 包中的 `LocalDateTime`、`ZonedDateTime` 和 `Instant` 类(Java 8 及以上)实现。使用 `Calendar` 类时,需设置并修改 `Calendar` 实例。而在 `java.time` 包中,可以使用 `plus` 方法结合 `ChronoUnit.SECONDS` 来增加秒数。具体选择取决于是否需要处理时区以及 Java 版本。
134 1
|
6月前
|
安全 Java 测试技术
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
【6月更文挑战第5天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
103 0
|
7月前
|
Java
Java String类型转换成Date日期类型
Java String类型转换成Date日期类型
Java String、Date、Calendar、LocalDate和LocalDateTime互转
Java String、Date、Calendar、LocalDate和LocalDateTime互转
127 0