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.util.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`这三个核心类来处理日期时间。 首先,`java.util.Calendar`是一个抽象类,它提供了对日期和时间的高级操作。例如,你可以...
总的来说,Java处理日期时间的方法包括创建`Calendar`实例、修改日期字段、格式化日期输出、以及使用`SimpleDateFormat`进行日期的解析和展示。理解这些基本概念对于任何Java开发者来说都是至关重要的,特别是在处理...
这篇博客"常用代码:java日期处理"很可能包含了关于如何在Java中有效地处理日期的实用示例和方法。这里我们将深入探讨Java日期处理的核心概念、API和最佳实践。 1. **Java日期API的发展历程** - Java 1.0引入了`...
在Java编程语言中,处理日期和时间是常见的需求。`java.time`包提供了丰富的API来完成日期和时间的格式化、解析以及计算等任务。本文将深入探讨Java中日期格式化的常用方法,主要关注`SimpleDateFormat`和`java.time...
在 Java 中处理日期时,我们需要导入一些必要的包来支持日期时间的格式化、解析等功能。示例代码中导入了如下几个关键的包: - `java.text.ParsePosition`:用于跟踪解析过程中的位置。 - `java.text....
首先,Java中处理日期的最基础类是`java.util.Date`。它表示特定的瞬间,精确到毫秒。但是,`Date`类的API设计并不理想,容易导致一些误导,因此在Java 8之后,推荐使用`java.time`包中的新API。 1. **`java.time`...
Java提供了多种处理日期的工具类,其中一个常用的工具类就是`java.util.Date`,以及从Java 8开始引入的`java.time`包中的类。本文将重点讲解Java日期的常用操作方法,主要基于提供的`JavaDateUtil.java`文件,假设这...
通过上述介绍可以看出,Java提供了多种类来处理日期时间,这些类各有特点,可以根据实际需求选择合适的类来使用。例如,如果需要进行复杂的日期计算,则可以考虑使用 `Calendar` 或 `GregorianCalendar`;如果需要...
在Java编程中,处理日期和时间是常见需求之一。本篇文章将详细介绍如何使用Java来获取一些常用的日期信息,包括但不限于:获取当前日期、本周一的日期、本周日的日期以及上周一的日期等。 ### 获取当前日期 通过`...
Java Swing 是Java GUI(图形用户界面)库的...总的来说,Java Swing 的日期时间选择控件简化了日期和时间输入,提高了数据准确性,并且提供了丰富的定制选项,使得开发者能够根据应用需求构建各种复杂的日期选择功能。
特别适用于需要在Java项目中处理日期时间相关逻辑的人群。 使用场景 1、日期时间计算:本源码资源提供了丰富的示例代码,帮助用户学习如何在Java中进行日期时间的计算,包括日期加减、格式化、解析等操作。 2、时区...
虽然`Date`类历史悠久,但在Java 8之后,已经不再推荐直接使用,因为它在处理日期时间时有许多不便之处,如格式化、比较等操作不够直观。 `java.util.Calendar`是抽象类,它是日期和时间的日历字段计算的通用日历...
在给定的标题“Java常用日期辅助类”中,我们可以推测这篇博文可能探讨了Java中的一些核心日期处理工具,如`java.util.Date`,`java.time`包中的类,以及自定义的日期助手类`DateHelper.java`。 `java.util.Date`是...
本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...
- `java.time`包:Java 8引入的新日期时间API,包括`LocalDate`、`LocalTime`、`LocalDateTime`等,提供了更强大的日期时间操作功能。 4. **集合框架**: - `java.util.*`:如ArrayList、LinkedList、HashSet、...
- `java.time`包:Java 8引入的新日期时间API,包含`LocalDate`、`LocalTime`、`LocalDateTime`等类,更加易用且功能强大。 6. **网络编程**: - `Socket`和`ServerSocket`:用于实现客户端/服务器模型的网络通信...
根据给定的信息,本文将详细解释Java中时间处理的一些常用方法和技术点,这些技术点主要集中在日期和时间的创建、转换、格式化以及日期之间的计算等方面。 ### 一、使用Calendar进行日期操作 #### 1. 设置特定日期...
在Java编程中,处理日期和时间通常涉及创建`Date`或`Calendar`对象,然后使用`SimpleDateFormat`进行格式化输出。随着Java的发展,`java.time`包(Java 8及更高版本)引入了新的日期/时间API,如`LocalDate`、`...
2014" 专门用于处理springboard定时任务修改cron参数的日期处理方法 12.获取本月第一天(月初时间) 13.获取本月最后一天(月底时间) 以上这些方法都在该Java工具类,当然不仅仅包含这些,还有其他的很多。
在Java中,日期处理是一项常见的任务,...在实际编程中,理解并熟练运用这些类和方法对于处理日期相关的逻辑至关重要。在进行日期处理时,确保正确地使用时间和日期的表示,并注意时间单位的转换,以避免潜在的错误。