package com.yao.util.date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
public static String defaultSimpleFormater = "yyyy-MM-dd hh:mm:ss";
/**
* 默认简单日期字符串
*
* @return
*/
public static String getDefaultSimpleFormater() {
return defaultSimpleFormater;
}
/**
* 设置默认简单日期格式字符串
*
* @param defaultFormatString
*/
public static void setDefaultSimpleFormater(String defaultFormatString) {
DateUtil.defaultSimpleFormater = defaultFormatString;
}
/**
* 格式化日期
*
* @param date
* @param formatString
* @return
*/
public static String format(Date date, String formatString) {
SimpleDateFormat df = new SimpleDateFormat(formatString);
return df.format(date);
}
/**
* 格式化日期(使用默认格式)
*
* @param date
* @return
*/
public static String format(Date date) {
return format(date, defaultSimpleFormater);
}
/**
* 转换成日期
*
* @param dateString
* @param formatString
* @return
*/
public static Date parse(String dateString, String formatString) {
SimpleDateFormat df = new SimpleDateFormat(formatString);
try {
return df.parse(dateString);
} catch (ParseException e) {
return null;
}
}
/**
* 转换成日期(使用默认格式)
*
* @param dateString
* @return
*/
public static Date parse(String dateString) {
return parse(dateString, defaultSimpleFormater);
}
/**
* 昨天
*
* @return
*/
public static Date yesterday() {
return addDay(-1);
}
/**
* 明天
*
* @return
*/
public static Date tomorrow() {
return addDay(1);
}
/**
* 现在
*
* @return
*/
public static Date now() {
return new Date(System.currentTimeMillis());
}
/**
* 按日加
*
* @param value
* @return
*/
public static Date addDay(int value) {
Calendar now = Calendar.getInstance();
now.add(Calendar.DAY_OF_YEAR, value);
return now.getTime();
}
/**
* 按日加,指定日期
*
* @param date
* @param value
* @return
*/
public static Date addDay(Date date, int value) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.add(Calendar.DAY_OF_YEAR, value);
return now.getTime();
}
/**
* 按月加
*
* @param value
* @return
*/
public static Date addMonth(int value) {
Calendar now = Calendar.getInstance();
now.add(Calendar.MONTH, value);
return now.getTime();
}
/**
* 按月加,指定日期
*
* @param date
* @param value
* @return
*/
public static Date addMonth(Date date, int value) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.add(Calendar.MONTH, value);
return now.getTime();
}
/**
* 按年加
*
* @param value
* @return
*/
public static Date addYear(int value) {
Calendar now = Calendar.getInstance();
now.add(Calendar.YEAR, value);
return now.getTime();
}
/**
* 按年加,指定日期
*
* @param date
* @param value
* @return
*/
public static Date addYear(Date date, int value) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.add(Calendar.YEAR, value);
return now.getTime();
}
/**
* 按小时加
*
* @param value
* @return
*/
public static Date addHour(int value) {
Calendar now = Calendar.getInstance();
now.add(Calendar.HOUR_OF_DAY, value);
return now.getTime();
}
/**
* 按小时加,指定日期
*
* @param date
* @param value
* @return
*/
public static Date addHour(Date date, int value) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.add(Calendar.HOUR_OF_DAY, value);
return now.getTime();
}
/**
* 按分钟加
*
* @param value
* @return
*/
public static Date addMinute(int value) {
Calendar now = Calendar.getInstance();
now.add(Calendar.MINUTE, value);
return now.getTime();
}
/**
* 按分钟加,指定日期
*
* @param date
* @param value
* @return
*/
public static Date addMinute(Date date, int value) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.add(Calendar.MINUTE, value);
return now.getTime();
}
/**
* 年份
*
* @return
*/
public static int year() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.YEAR);
}
/**
* 月份
*
* @return
*/
public static int month() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.MONTH);
}
/**
* 日(号)
*
* @return
*/
public static int day() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.DAY_OF_MONTH);
}
/**
* 小时(点)
*
* @return
*/
public static int hour() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.HOUR);
}
/**
* 分钟
*
* @return
*/
public static int minute() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.MINUTE);
}
/**
* 秒
*
* @return
*/
public static int second() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.SECOND);
}
/**
* 星期几(礼拜几)
*
* @return
*/
public static int weekday() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.DAY_OF_WEEK) - 1;
}
/**
* 是上午吗?
*
* @return
*/
public static boolean isAm() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.AM_PM) == 0;
}
/**
* 是下午吗?
*
* @return
*/
public static boolean isPm() {
Calendar now = Calendar.getInstance();
return now.get(Calendar.AM_PM) == 1;
}
}
分享到:
相关推荐
本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来说是非常重要的知识点。 首先,我们要了解Java中的基础日期类`java.util.Date`。这个类在早期的Java版本中被广泛使用,但其API设计存在一些问题,例如不...
标题提到的"java实现的日期操作类"通常指的是使用这些类来完成特定的日期计算任务,如获取星期几或计算未来的日期。 `java.util.Date`是Java早期用来表示日期和时间的类,但它的API设计并不理想,易用性较差。因此...
`Calendar`是一个抽象类,提供了更为灵活的日期和时间操作。它是线程安全的,可以用于多线程环境。 `Calendar`类的主要方法包括: 1. `getInstance()`:获取当前时区的`Calendar`实例。 2. `get(int field)`:获取...
在Java编程语言中,`Calendar`类是处理日期和时间的核心工具之一,它提供了一种可以操作日期和时间字段(如年、月、日、时、分、秒等)的灵活方式。`Calendar`类是抽象的,因此我们通常通过其子类如`...
这些方法的实现通常基于Java的`java.util.Calendar`类或Java 8引入的`java.time`包,它们提供了丰富的API来处理日期和时间。使用这样的帮助类,开发者可以更方便地处理各种复杂的日期时间问题,避免重复编写基础代码...
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记
### JAVA日期操作汇总 本文将对Java中的日期操作进行详细解析,主要涵盖以下几个方面: 1. 计算某个月份的最大天数; 2. `Calendar`与`Date`之间的转换; 3. 日期格式化; 4. 获取指定日期所在的周序号及设置某...
本文将深入探讨Java中的日期类操作,包括日期的加减运算,以及如何利用不同的日期类进行高效的时间管理。 ### 一、日期类的基本操作 #### 1. 使用Calendar类 `Calendar`类是Java中处理日期和时间的核心类之一,它...
Java中的Date和Calendar类是处理日期和时间的核心组件。Date类主要用于表示特定的瞬间,精确到毫秒。在早期版本的Java中,Date类的设计受到批评,因为它的API不直观且容易导致错误。为了解决这些问题,大部分日期和...
Java中的时间类`Date`和`Calendar`是处理日期和时间的核心组件,它们在Java编程中扮演着重要的角色。在Java中,`Date`类主要用来表示特定的瞬间,精确到毫秒。而`Calendar`类则是一个抽象类,提供了比`Date`更灵活的...
本篇文章将详细探讨Java中的日期操作接口,特别是围绕"Java日期操作接口"这个主题,以及与之相关的`DateFilter.java`文件。 首先,Java中最基础的日期类是`java.util.Date`。这个类自Java 1.0起就存在,但它的设计...
根据给定的文件信息,...以上就是对Java日期类函数方法的整理和解释,涵盖了基本的日期操作,包括日期的格式化、解析、转换以及年份和月份的获取等。掌握这些函数和方法,能够帮助开发者更高效地处理日期相关的任务。
在 Java 语言中,日期操作类是非常重要的一部分,常用的日期操作类有 Date 类、Calendar 类和 DateFormat 类。下面是对这三个类的详细介绍: Date 类 Date 类是 Java 语言中最基本的日期操作类,位于 java.util ...
这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...
通过以上代码片段和解释,我们可以看到`java.util.Calendar`类的强大功能,它不仅能够帮助我们获取和操作日期,还提供了丰富的API来处理各种复杂的日期计算场景。掌握了这些基本概念后,开发者可以在实际项目中灵活...
Java提供了多种工具类来帮助开发者进行日期时间的操作,其中最常用的是`java.util.Date`、`java.util.Calendar`以及`java.time`包中的类。本篇将重点介绍Java操作日期时间的工具类,特别是通过`DateUtil.java`这个...
以下是对给定内容中涉及的Java日期操作进行的详细说明: 1. **获取指定月份的第一天**: 使用`java.util.Calendar`类可以方便地获取指定日期所在月份的第一天。首先,将输入的日期字符串转换为`java.util.Date`...
在Java编程语言中,`Calendar`和`Date`类是处理日期和时间的核心组件。这两个类在处理日期、时间计算以及格式化等任务时扮演着关键角色。理解并熟练运用它们,对于提升Java开发能力至关重要。 `Date`类是Java早期...
在Java中处理日期和时间非常常见,而`java.util.Calendar`类则是进行此类操作的核心工具之一。`Calendar`类提供了一系列的功能来帮助开发者处理复杂的日期计算问题,比如日期的加减、获取特定日期组件等。 #### 二...
如果这个文件包含了代码示例,你可以打开查看具体实现,进一步学习和理解Java日期时间操作的细节。 总之,理解和熟练掌握Java的日期时间操作对于开发人员来说至关重要,无论是在处理用户输入、记录日志还是进行复杂...