`
oyqh
  • 浏览: 23763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JAVA处理日期时间常用方法:

阅读更多


1.java.util.Calendar
    Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

例:
    Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。
     cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.

    cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.

//通过格式化输出日期
     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

    System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));

    System.out.println("yesterday is:"+format.format(cal.getTime()));

   得到2007-12-25日期:

    Calendar calendar = new  GregorianCalendar(2007, 11, 25,0,0,0);
    Date date = calendar.getTime();
    System.out.println("2007 Christmas is:"+format.format(date));

    java月份是从0-11,月份设置时要减1.

    GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

    取日期的部分:

       int year =calendar.get(Calendar.YEAR);

       int month=calendar.get(Calendar.MONTH)+1;

       int day =calendar.get(Calendar.DAY_OF_MONTH);

       int hour =calendar.get(Calendar.HOUR_OF_DAY);

       int minute =calendar.get(Calendar.MINUTE);

       int seconds =calendar.get(Calendar.SECOND);

     取月份要加1.

    判断当前月份的最大天数:
       Calendar cal = Calendar.getInstance();
       int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
       System.out.println(day);


2.java.util.Date

       java.util.Date today=new java.util.Date();
       System.out.println("Today is "+formats.format(today));

     取当月的第一天:
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-01");
       java.util.Date firstDay=new java.util.Date();
       System.out.println("the month first day is "+formats.format(firstDay));
     取当月的最后一天:
       Calendar cal = Calendar.getInstance();
       int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);
       Format formatter3=new SimpleDateFormat("yyyy-MM-"+maxDay);
       System.out.println(formatter3.format(cal.getTime()));

     求两个日期之间相隔的天数:
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
       java.util.Date beginDate= format.parse("2007-12-24");    
       java.util.Date endDate=   format.parse("2007-12-25");  
       long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);  
       System.out.println("相隔的天数="+day);  
     一年前的日期:
       Format formatter=new SimpleDateFormat("yyyy-MM-dd");
       Date todayDate=new Date();   
       long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;
       todayDate.setTime(beforeTime*1000);
       String beforeDate=formatter.format(todayDate);
       System.out.println(beforeDate);
     一年后的日期:
       Format formatter=new SimpleDateFormat("yyyy-MM-dd");
       Date todayDate=new Date();   
       long afterTime=(todayDate.getTime()/1000)+60*60*24*365;
       todayDate.setTime(afterTime*1000);
       String afterDate=formatter.format(todayDate);
       System.out.println(afterDate);

    求10小时后的时间
     Calendar  Cal=Calendar.getInstance();  
         Cal.setTime(dateOper);  
         Cal.add(Calendar.HOUR_OF_DAY,10);
         System.out.println("date:"+forma.format(Cal.getTime()));

    求10小时前的时间

Calendar  Cal=Calendar.getInstance();  
         Cal.setTime(dateOper);  
         Cal.add(Calendar.HOUR_OF_DAY,-10);
         System.out.println("date:"+forma.format(Cal.getTime()));

3.java.sql.Date
     继承自java.util.Date,是操作数据库用的日期类型
        Date sqlDate = new Date(Date.valueOf("2007-12-25").getTime());
    日期比较:简单的比较可以以字符串的形式直接比较,也可使用
        Date.valueOf("2007-03-08").compareTo(jDate.valueOf("2007-03-18"))方式来比较日期的大小.也可使用Date.after(Date)来比较.

相差时间:
long  difference=c2.getTimeInMillis()-c1.getTimeInMillis();  
相差天数:long day=difference/(3600*24*1000)  
相差小时:long hour=difference/(3600*1000)  
相差分钟:long minute=difference/(60*1000)  
相差秒:  long second=difference/1000

补充:
DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");
System.out.println(df.format(new Date()));
Date date = new Date();
DateFormat shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
DateFormat mediumDate =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
DateFormat longDate =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
DateFormat fullDate =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);

system.out.println(shortDate.format(date));
System.out.println(mediumDate.format(date));
System.out.println(longDate.format(date));
System.out.println(fullDate.format(date));

08-4-15 下午3:24
2008-4-15 15:24:31
2008年4月15日 下午03时24分31秒
2008年4月15日 星期二 下午03时24分31秒CST


Calendar c = Calendar.getInstance();

c.add(Calendar.MONTH, 1); // 目前時間加1個月
System.out.println(df.format(c.getTime()));

c.add(Calendar.HOUR, 3); // 目前時間加3小時
System.out.println(df.format(c.getTime()));

c.add(Calendar.YEAR, -2); // 目前時間減2年
System.out.println(df.format(c.getTime()));

c.add(Calendar.DAY_OF_WEEK, 7); // 目前的時間加7天
System.out.println(df.format(c.getTime()));
分享到:
评论

相关推荐

    JAVA处理日期时间常用方法

    在Java中,主要使用`java.util.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`这三个核心类来处理日期时间。 首先,`java.util.Calendar`是一个抽象类,它提供了对日期和时间的高级操作。例如,你可以...

    精品专题(2021-2022年收藏)JAVA处理日期时间常用方法.doc

    总的来说,Java处理日期时间的方法包括创建`Calendar`实例、修改日期字段、格式化日期输出、以及使用`SimpleDateFormat`进行日期的解析和展示。理解这些基本概念对于任何Java开发者来说都是至关重要的,特别是在处理...

    常用代码:java日期处理

    这篇博客"常用代码:java日期处理"很可能包含了关于如何在Java中有效地处理日期的实用示例和方法。这里我们将深入探讨Java日期处理的核心概念、API和最佳实践。 1. **Java日期API的发展历程** - Java 1.0引入了`...

    Java的日期格式化常用方法

    在Java编程语言中,处理日期和时间是常见的需求。`java.time`包提供了丰富的API来完成日期和时间的格式化、解析以及计算等任务。本文将深入探讨Java中日期格式化的常用方法,主要关注`SimpleDateFormat`和`java.time...

    Java中日期处理的代码

    在 Java 中处理日期时,我们需要导入一些必要的包来支持日期时间的格式化、解析等功能。示例代码中导入了如下几个关键的包: - `java.text.ParsePosition`:用于跟踪解析过程中的位置。 - `java.text....

    Java中对日期的常用处理(转)

    首先,Java中处理日期的最基础类是`java.util.Date`。它表示特定的瞬间,精确到毫秒。但是,`Date`类的API设计并不理想,容易导致一些误导,因此在Java 8之后,推荐使用`java.time`包中的新API。 1. **`java.time`...

    Java日期常用操作方法工具类

    Java提供了多种处理日期的工具类,其中一个常用的工具类就是`java.util.Date`,以及从Java 8开始引入的`java.time`包中的类。本文将重点讲解Java日期的常用操作方法,主要基于提供的`JavaDateUtil.java`文件,假设这...

    java中的日期处理类总结:DateCalendarGregorianCalendarDateFormatSimpleDateFormat类

    通过上述介绍可以看出,Java提供了多种类来处理日期时间,这些类各有特点,可以根据实际需求选择合适的类来使用。例如,如果需要进行复杂的日期计算,则可以考虑使用 `Calendar` 或 `GregorianCalendar`;如果需要...

    Java获取各种常用时间方法

    在Java编程中,处理日期和时间是常见需求之一。本篇文章将详细介绍如何使用Java来获取一些常用的日期信息,包括但不限于:获取当前日期、本周一的日期、本周日的日期以及上周一的日期等。 ### 获取当前日期 通过`...

    java swing 时间日期选择控件

    Java Swing 是Java GUI(图形用户界面)库的...总的来说,Java Swing 的日期时间选择控件简化了日期和时间输入,提高了数据准确性,并且提供了丰富的定制选项,使得开发者能够根据应用需求构建各种复杂的日期选择功能。

    Java的日期时间处理类讲解代码( Date 、Calendar、SimpleDateFormat、LocalDateTime)

    特别适用于需要在Java项目中处理日期时间相关逻辑的人群。 使用场景 1、日期时间计算:本源码资源提供了丰富的示例代码,帮助用户学习如何在Java中进行日期时间的计算,包括日期加减、格式化、解析等操作。 2、时区...

    java操作日期时间工具类

    虽然`Date`类历史悠久,但在Java 8之后,已经不再推荐直接使用,因为它在处理日期时间时有许多不便之处,如格式化、比较等操作不够直观。 `java.util.Calendar`是抽象类,它是日期和时间的日历字段计算的通用日历...

    Java常用日期辅助类

    在给定的标题“Java常用日期辅助类”中,我们可以推测这篇博文可能探讨了Java中的一些核心日期处理工具,如`java.util.Date`,`java.time`包中的类,以及自定义的日期助手类`DateHelper.java`。 `java.util.Date`是...

    Java 获取日期时间代码

    本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...

    常用的java工具类

    - `java.time`包:Java 8引入的新日期时间API,包括`LocalDate`、`LocalTime`、`LocalDateTime`等,提供了更强大的日期时间操作功能。 4. **集合框架**: - `java.util.*`:如ArrayList、LinkedList、HashSet、...

    java程序各种常用方法集锦

    - `java.time`包:Java 8引入的新日期时间API,包含`LocalDate`、`LocalTime`、`LocalDateTime`等类,更加易用且功能强大。 6. **网络编程**: - `Socket`和`ServerSocket`:用于实现客户端/服务器模型的网络通信...

    时间处理常用java

    根据给定的信息,本文将详细解释Java中时间处理的一些常用方法和技术点,这些技术点主要集中在日期和时间的创建、转换、格式化以及日期之间的计算等方面。 ### 一、使用Calendar进行日期操作 #### 1. 设置特定日期...

    java中的日期处理类总结

    在Java编程中,处理日期和时间通常涉及创建`Date`或`Calendar`对象,然后使用`SimpleDateFormat`进行格式化输出。随着Java的发展,`java.time`包(Java 8及更高版本)引入了新的日期/时间API,如`LocalDate`、`...

    最全Java常用日期处理工具类

    2014" 专门用于处理springboard定时任务修改cron参数的日期处理方法 12.获取本月第一天(月初时间) 13.获取本月最后一天(月底时间) 以上这些方法都在该Java工具类,当然不仅仅包含这些,还有其他的很多。

    java日期处理小结

    在Java中,日期处理是一项常见的任务,...在实际编程中,理解并熟练运用这些类和方法对于处理日期相关的逻辑至关重要。在进行日期处理时,确保正确地使用时间和日期的表示,并注意时间单位的转换,以避免潜在的错误。

Global site tag (gtag.js) - Google Analytics