`
c125543072
  • 浏览: 30111 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

DateHelper

 
阅读更多

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DateUtil {

	/**
	 * 字符串转日期类型
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 18:31:46
	 * @return
	 */
	public static Date convertStringToDate(String time, int type) {
		String format = "";
		if (type == 1) {
			format = "yyyy-MM-dd";
		}
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		try {
			return sdf.parse(time);
		} catch (Exception e) {
			return null;
		}
	}

	/**
	 * 取近一年
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 21:27:41
	 * @return
	 */
	public static String getLastOneYearDay() {
		return getLastNumberDayBeforeYesterDay(365);
	}
	
	/**
	 * 取近三个月
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 21:27:41
	 * @return
	 */
	public static String getLastThreeMonthDay() {
		return getLastNumberDayBeforeYesterDay(90);
	}
	
	/**
	 * 取近一个月
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 21:27:41
	 * @return
	 */
	public static String getLastMonthDay() {
		return getLastNumberDayBeforeYesterDay(30);
	}
	
	/**
	 * 取近一周
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 21:27:41
	 * @return
	 */
	public static String getLastWeekDay() {
		return getLastNumberDayBeforeYesterDay(7);
	}

	/**
	 * 取昨天的前XX天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 21:06:08
	 * @param number
	 * @return
	 */
	public static String getLastNumberDayBeforeYesterDay(int number) {
		String yesterDay = getYesterdayOrTomorrow(getNowDate(), -1);
		return getLastNumberDay(yesterDay, number);
	}

	/**
	 * 取之前XX天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 21:06:08
	 */
	@SuppressWarnings("deprecation")
	public static String getLastNumberDay(String day, int number) {
		String ntime = "";
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(day);
			Date endDate = null;
			endDate = new Date(startDate.getTime()
					- (((long) number * (long) 24 * (long) 3600 * (long) 1000)));
			ntime = endDate.getYear() + 1900 + "-" + (endDate.getMonth() + 1)
					+ "-" + endDate.getDate();
		} catch (Exception e) {
			System.out.println(e);
		}
		return ntime;
	}

	/**
	 * 取上个月的昨天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 18:41:14
	 * @param yesterday
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getYesterdayOnLastMonth(String yesterday) {
		String ntime = "";
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(yesterday);
			Date endDate = null;
			endDate = new Date(startDate.getTime()
					- (((long) 30 * (long) 24 * (long) 3600 * (long) 1000)));
			ntime = endDate.getYear() + 1900 + "-" + (endDate.getMonth() + 1)
					+ "-" + endDate.getDate();
		} catch (Exception e) {
			System.out.println(e);
		}
		return ntime;
	}

	/**
	 * 取今年第一天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 18:44:12
	 * @param nowDate
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getFirstDayInYear(String nowDate) {
		String ntime = "";
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(nowDate);
			ntime = startDate.getYear() + 1900 + "-01-01";
		} catch (Exception e) {
			System.out.println(e);
		}
		return ntime;
	}

	/**
	 * 取本季度第一天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 18:46:33
	 * @param nowDate
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getFirstDayInThisQuarter(String nowDate) {
		String ntime = "";
		int nowMonth;
		int nowYear;
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(nowDate);
			nowMonth = startDate.getMonth() + 1;
			nowYear = startDate.getYear() + 1900;
			while (true) {
				if (nowMonth >= 10) {
					ntime = nowYear + "-10-01";
					break;
				}
				if (nowMonth >= 7) {
					ntime = nowYear + "-07-01";
					break;
				}
				if (nowMonth >= 4) {
					ntime = nowYear + "-04-01";
					break;
				}
				if (nowMonth >= 1) {
					ntime = nowYear + "-01-01";
					break;
				}
			}
		} catch (Exception e) {
			System.out.println(e);
		}
		return ntime;
	}

	/**
	 * 取昨天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 20:27:21
	 * @return
	 */
	public static String getYesterDay() {
		return getYesterdayOrTomorrow(getNowDate(), -1);
	}

	/**
	 * 取明天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 20:27:21
	 * @return
	 */
	public static String getTomorrow() {
		return getYesterdayOrTomorrow(getNowDate(), 1);
	}

	/**
	 * 取今天
	 * 
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getNowDate() {
		Date date = new Date();
		int nowMonth = date.getMonth() + 1;
		int nowYear = date.getYear() + 1900;
		int day = date.getDate();
		String startTime = nowYear + "-" + nowMonth + "-" + day;
		return startTime;
	}

	/**
	 * 取时间段
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 18:34:22
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static List<String> getTimes(String startTime, String endTime) {
		List<String> dayList = new ArrayList<String>();
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(startTime);
			Date endDate = df.parse(endTime);
			String now = "";
			for (long i = startDate.getTime(); i <= endDate.getTime(); i += (long) 24
					* (long) 3600 * (long) 1000) {
				Date date = new Date(i);
				now = date.getYear() + 1900 + "-" + (date.getMonth() + 1) + "-"
						+ date.getDate();
				dayList.add(now);
			}
		} catch (Exception e) {
			System.out.println(e);
		}
		return dayList;
	}

	/**
	 * 取当前月第一天
	 * 
	 * @author HeCheng
	 * @time 2010-12-08 18:34:29
	 * 
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getMonthFirstDay() {
		Date date = new Date();
		int nowMonth = date.getMonth() + 1;
		int nowYear = date.getYear() + 1900;
		String startTime = nowYear + "-" + nowMonth + "-1";
		return startTime;
	}

	/**
	 * 取明天或昨天
	 * 
	 * @param nowDate
	 * @param con
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getYesterdayOrTomorrow(String nowDate, int con) {
		String ntime = "";
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(nowDate);
			Date endDate = null;
			if (con == -1) {
				endDate = new Date(startDate.getTime() - (long) 24
						* (long) 3600 * (long) 1000);
			} else {
				endDate = new Date(startDate.getTime() + (long) 24
						* (long) 3600 * (long) 1000);
			}
			ntime = endDate.getYear() + 1900 + "-" + (endDate.getMonth() + 1)
					+ "-" + endDate.getDate();
		} catch (Exception e) {
			System.out.println(e);
		}
		return ntime;
	}

	/**
	 * 取月的最后一天
	 * 
	 * @param time
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getMonthEndDay(String time) {
		String ntime = "";
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
			Date startDate = df.parse(time);
			int nowMonth = startDate.getMonth() + 1;
			int nextMonth = nowMonth + 1;
			int nowYear = startDate.getYear() + 1900;
			String nextTime = nowYear + "-" + nextMonth + "-1";
			Date tmpDate = df.parse(nextTime);
			Date endDate = new Date(tmpDate.getTime() - 24 * 3600 * 1000);
			ntime = endDate.getYear() + 1900 + "-" + (endDate.getMonth() + 1)
					+ "-" + endDate.getDate();
		} catch (Exception e) {
			System.out.println(e);
		}
		return ntime;
	}
}

分享到:
评论

相关推荐

    DateHelper日期和时间戳之间的相互转换可用于浏览器和NodeJS

    "DateHelper"是一个专门针对日期和时间戳转换的库,它支持在浏览器环境和Node.js环境中使用,这使得开发者在跨平台开发时能够有一致的日期处理体验。下面将详细探讨DateHelper库的特性、用法以及如何在实际项目中...

    swift-DateHelper-NSDate在Swift中的便利扩展

    为了简化这些操作,开发者常常会创建一个便利扩展,例如"swift-DateHelper-NSDate在Swift中的便利扩展"项目,它为`NSDate`(Objective-C的日期表示类)提供了额外的方法,以便在Swift中更方便地使用。 DateHelper...

    DateHelper,.zip

    简单的约会助手,可以帮助你让你的生活更轻松。

    datehelper.js:一组简单的原型,用于轻松进行日期格式化

    日期助手.js 一组简单的原型,用于简单的日期格式化。 用法如下: 要获取时间值,请使用以下命令: var time = new Date().timeNow('hh:mm:ss'); 将返回10:58:16 var time = new Date().timeNow('hh:mm');...

    DateHelper:Swift Date扩展助手

    日期助手 高性能的Swift日期扩展,用于创建,转换,比较或修改日期。 能力 从字符串创建日期 提供两个初始化程序以从字符串创建日期。 detectFromString: init?(detectFromString string: String) 使用...

    java时间处理工具类--DateUtils

    * 获取DateHelper实例, 使用当前时间作为基准时间 * * @return Date */ public static DateUtils getInstance() { return new DateUtils(null); } /** * 获取年的第一天 * * @param offset ...

    iOS NSdate 时间转换

    这样,我们就可以在项目中通过`DateHelper.sharedInstance.stringFromDate(someNSDate)`或`DateHelper.sharedInstance.dateFromString(someDateString)`方便地进行日期转换,无需每次都创建新的`NSDateFormatter`...

    C# 公历农历转化.rar

    `DateHelper.cs` 文件很可能定义了一个名为 `DateHelper` 的类,这个类包含了将公历日期转化为农历日期,以及农历日期转化为公历日期的方法。在C#中,我们可以利用`DateTime`结构体来处理日期和时间,而转换农历则...

    java datetime

    public static DateHelper getInstance(Date fiducialDate) { return new DateHelper(fiducialDate); } public static DateHelper getInstance() { return new DateHelper(null); } ``` 这两个方法都是为了创建`...

    Java常用日期辅助类

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

    Android常用类库

    日期处理在Android应用中很常见,比如记录创建时间、显示日期标签等,DateHelper可以简化这部分的代码。 5. **IOUtils.java**: IOUtils通常封装了输入/输出流的操作,例如读取文件、写入文件、复制流等。在处理...

    asp.net常用工具类

    - `DateHelper`:日期时间处理,如格式化日期,计算时间差等。 - `EncryptionHelper`:加密解密功能,可能包含AES、DES、MD5等算法。 - `CacheHelper`:缓存管理,用于存储和获取数据,提高性能。 - `MailHelper...

    DotNet多年积累的处理类库源码

    2. 日期时间操作:DateHelper类可能包含了处理日期时间的方法,如获取当前时间、日期之间的比较、时间间隔计算等。这有助于开发者在处理时间相关的业务时更加得心应手。 3. 文件系统交互:FileSystemHelper类通常...

    UDF文件系统资料汇总——协议、资料、源码

    UDF(Universal Disk Format)文件系统是一种开放标准的文件系统,广泛应用于光盘、移动硬盘、USB存储设备等,尤其在DVD和蓝光光盘上是标准的文件系统。这个压缩包包含了一系列与UDF相关的资源,如协议文档、结构...

    java常用工具类 Date日期、Mail邮件工具类

    DateHelper 类是 Date 日期工具类的一个实现,提供了多种方法来操作和格式化日期。 1. 日期格式化 DateHelper 类提供了多种方法来格式化日期,例如 formatDate 方法可以将 Date 对象格式化为指定的日期格式字符串...

    javascript日期转换 时间戳转日期格式

    JavaScript中的日期处理是编程中常见的任务之一,尤其是在创建动态用户界面或者进行数据分析时。这个话题主要涉及如何将时间戳转换为可读的日期格式。在JavaScript中,`Date`对象是处理日期和时间的主要工具。...

    distance_of_time_in_words:用Rails更好的时间间隔

    多蒂 ...include ActionView :: Helpers :: DateHelper include ActionView :: Helpers :: TextHelper include ActionView :: Helpers :: NumberHelper distance_of_time_in_words 以此为例: &gt;&gt; dis

    java 获取日期的几天前,几个月前和几年前的实例

    类`DateHelper`中包含了一些静态方法,如`toSeconds()`、`toMinutes()`、`toHours()`、`toDays()`、`toMonths()`和`toYears()`。这些方法将时间差(以毫秒为单位)转换为对应的秒、分、小时、天、月和年的整数。...

    C#中的扩展方法详解

    例如,在我们的示例中,我们创建了一个名为`DateHelper`的静态类,并在其中定义了一个名为`DateToString`的扩展方法,这个方法接收一个`DateTime`类型的参数并返回格式化的字符串。通过`this DateTime dt`,我们声明...

    naming-contest

    可以使用点号(.)分隔各个层级,如`myApp.utils.dateHelper`。 6. 避免使用保留字:JavaScript有一些保留字,如`for`、`if`等,这些不能用于变量或函数的命名。 7. 避免使用误导性的名字:名称应准确反映变量或...

Global site tag (gtag.js) - Google Analytics