<?php
/**
* 日期工具类,负责日期的转换及相关处理
* @package Interface_Util
* @version 1.0
*
*/
class DateUtil {
private $date;
function __construct() {
$this->date = date("Y-m-d H:i:s",time());
}
/**取得当前日期*/
public static function getToday() {
return date("Y-m-d",time());
}
/**
* 取得离当前日期N天的下一个日期
* 注:N为正整数,则取后N天的日期;N为负数,则取前N天的日期
* @param int $days 间隔天数
* @return string 间隔后的日期
*/
public function getCurrentNextDate ($days) {
$dateInfo = explode('-',$this->date);
$nextDate = date('Y-m-d',mktime(0, 0, 0, $dateInfo[1], $dateInfo[2]+intval($days), $dateInfo[0]));
return $nextDate;
}
/**
* 取得离指定日期N天的下一个日期
* 注:N为正整数,则取后N天的日期;N为负数,则取前N天的日期
* @param string $date 指定用于计算的初始日期
* @param int $days 间隔天数
* @return string 间隔后的日期
*/
public static function getNextDate($date ,$days) {
$dateInfo = explode('-',$date);
$nextDate = date('Y-m-d',mktime(0, 0, 0, $dateInfo[1], $dateInfo[2]+intval($days), $dateInfo[0]));
return $nextDate;
}
/**
* 取得两个指定日期之间相差的天数
*
* @param string $startDate 起始日期
* @param string $endDate 终止日期
* @return int 终止日期减起始日期的天数差
*/
public static function diffDays($startDate, $endDate) {
$dayTime = 60*60*24;
$diff = ceil((strtotime($endDate) - strtotime($startDate))/$dayTime);
return $diff;
}
/**
* 取当前日期的月份有多少天
* @param date $nowDate 当前日期(如:2009-09-19)
* @return int 本月有多少天
*/
public static function getMonthDays($nowDate){
$dateInfo = explode('-',$nowDate);
$nextDate = date('Y-m-d',mktime(0, 0, 0, $dateInfo[1]+1, $dateInfo[2], $dateInfo[0]));
return self::diffDays($nowDate,$nextDate);
}
}
?>
echo DateUtil::getNextDate("2005-3-2",-3);
echo DateUtil::diffDays("2005-3-2","2005-3-5");
echo DateUtil::getCurAge("1984-1-1");
分享到:
相关推荐
本主题聚焦于一个名为"Date日期操作工具类"的实用工具,它提供了丰富的功能,包括日期格式化、字符串与日期之间的转换、日期的加减操作以及计算日期间隔等。 首先,让我们深入理解`java.util.Date`类。Date类代表了...
java Date操作工具类,对日期的各种基本的操作
这种设计使得`Date`类能够利用`Time`类的功能,并且可以通过其内部的`Time`对象来处理时间相关的操作。接下来,我们将深入探讨`Date`和`Time`类之间的关系以及如何在实际代码中实现这一概念。 首先,`Date`类通常...
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记
在C++编程语言中,创建自定义的日期类(Date类)是一种常见的需求,用于处理日期相关的操作。下面我们将深入探讨如何实现一个简单的Date类,包括其构造函数、运算符重载以及辅助方法。 首先,Date类通常包含年(_year)...
虽然`Date`类在早期被广泛使用,但随着Java API的发展,特别是`Calendar`类的引入,`Date`类逐渐被推荐用于某些特定场景而非通用日期时间操作。 **2. 创建当前日期实例** 可以通过不带参数的构造函数来创建一个表示...
在Java编程语言中,`Date`类是处理时间与日期的核心类之一,它在`java.util`包中定义。这个类被广泛用于记录和操作日期和时间。在本实验报告中,我们将深入探讨`Date`类的基本用法,以及如何结合`time`的设计来创建...
在Java编程语言中,`Date`类是处理时间的基础组件,而`Calendar`类则提供了更高级的时间操作功能。这两个类在MyEclipse环境中经常被用于进行日期和时间的计算与管理。以下是对这两个类的详细说明以及如何在MyEclipse...
Date时间操作工具类 js: 1.一个日期时间加上分钟数,得到一个新的日期时间 2.判断当前时间是否在时间段之内 3.根据默认的格式格式化时间 4.根据指定的格式格式化时间 5.改变月份 6.改变天数 7.计算天数间隔 8.Date转...
这通常用于执行与类相关的操作,但不需要访问类的实例数据。 接下来,我们需要实现`date`类。在C++中,类的实现通常在单独的`.cpp`文件中完成。以下是一个可能的实现: ```cpp #include "Date.h" // 假设Date类的...
在Java编程语言中,日期(Date)操作是常见的任务,特别是在处理日志记录、数据分析、时间戳转换等场景。Java提供了多种方式来处理日期和时间,包括内置的`java.util.Date`类,以及从Java 8开始引入的`java.time`...
最近由于项目需要写了一些关于操作Date的代码,建议把经常需要的工具类保存下来,以备不时之需
`Calendar` 类是 `Date` 的一个更强大的替代品,它可以提供对日历字段的更精细操作。以下是如何获取 `Calendar` 实例并将其转换为 `Date`: ```java Calendar cal = Calendar.getInstance(); Date nowFromCal =...
然而,`Date`类存在一些不足,如缺少操作日期的API,不支持时区转换,以及其`toString()`方法生成的日期格式不易定制等。为了解决这些问题,Java引入了`Calendar`类。 `Calendar`是一个抽象类,它是所有日历字段的...
Java 语言中内置的 Date 类可以满足大多数的日期操作需求,但是在某些特殊场景下,我们需要自定义 date 类来满足特定的需求。本文将介绍如何自定义一个简单的 date 类,包括 year、month、day 的设置和获取,判断...
Java 中 Date 类 Java 中 Date 类是 Java 语言中用于...Java 中 Date 类是一个功能强大且实用的类,提供了多种方法来操作日期和时间的各组成部分,但是在实际应用中需要注意使用新的日期和时间 API 来代替 Date 类。
本篇文章将详细讲解`String`和`Date`工具类中涉及的知识点,以及如何在实际开发中有效地运用它们。 首先,我们来看`String`工具类。在Java中,`String`对象是不可变的,这意味着一旦创建,就不能改变其内容。因此,...
### 标题:util包里的Date类转换为sql包里的Date #### 了解util包里的Date类 `java.util.Date`是Java标准库中的一个类,用于表示特定的时间点,精确到毫秒。这个类提供了多种构造函数来创建日期对象,并且还提供了...
定义日期类Date。要求: (1)可以设置日期; (2)日期加一天操作; (3)输出函数,输出格式为“XXXX-XX-XX”; (4)编写主函数,定义对象,完成相应功能。 程序的参考的输入(“Input Date:”为提示文字): ...
对于JDBC而言,推荐的做法是将数据库中的`Date`类型字段对应的实体类属性设置为`String`类型,以便于操作和日期查询。此外,使用精确的时间格式存储和查询数据可以避免后续可能出现的问题,并为系统功能的扩展提供...