package com.specl.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateUtil {
private static final SimpleDateFormat shortsdf = new SimpleDateFormat("yyyy-MM-dd");
private static final SimpleDateFormat longsdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 时间格式化(到日期)
*
* @param date
* @return
*/
public static String formatDate(Date date) {
String newDate = "";
if (date == null)
return newDate;
try {
newDate = shortsdf.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return newDate;
}
/**
* 时间格式化(到秒)
*
* @param obj
* @return
*/
public static String formatTime(Date date) {
String newDate = "";
if (date == null)
return newDate;
try {
newDate = longsdf.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return newDate;
}
/**
* 时间格式化(到秒)
*
* @param ticks 时间刻度
* @return
*/
public static String formatTime(Long ticks) {
String newDate = "";
if (ticks == null)
return newDate;
try {
Date date=new Date(ticks);
newDate = longsdf.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return newDate;
}
public static String formatTimeMin(Date date) {
String newDate = "";
if (date == null)
return newDate;
try {
newDate = shortsdf.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return newDate;
}
public static Date string2Date(String s, int type) {
if (s == null) {
return null;
}
Calendar cal = null;
String a[] = s.split("-| |:");
try {
if (a.length >= 3) {
cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.valueOf(a[0]));
cal.set(Calendar.MONTH, Integer.valueOf(a[1]) - 1);
cal.set(Calendar.DATE, Integer.valueOf(a[2]));
}
if (type == 0) {
if (a.length >= 5) {
cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(a[3]));
cal.set(Calendar.MINUTE, Integer.valueOf(a[4]));
if (a.length == 6) {
cal.set(Calendar.SECOND, Integer.valueOf(a[5]));
}
} else {
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
}
} else if (type == 1) {
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
} else if (type == 2) {
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
}
} catch (Exception e) {
}
if (cal != null) {
return cal.getTime();
}
return null;
}
public static Date stringDateMin(String s) {
Date date = null;
try {
date = shortsdf.parse(s);
} catch (ParseException e) {
}
return date;
}
public static Date stringDate(String s) {
Date date = null;
try {
date = longsdf.parse(s);
} catch (ParseException e) {
}
return date;
}
/**
* 以短格式格式化时间,实例:2010-09-19
* @param time 时间刻度
* @return 格式化后的时间
* @author zhengrunjin @ 2010-09-19
*/
public static String StringDateShortFormat(Long time){
if (time != null) {
return shortsdf.format(new Date(time));
}
return null;
}
public static String StringDate(Long l) {
if (l != null) {
return longsdf.format(new Date(l));
}
return null;
}
/**
* 返回于指定日期间隔一定天数的日期
* @param date
* @param days
* @return
*/
public static Date getSpecDate(Date date, int days) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - days);
return calendar.getTime();
}
public static boolean after(Date date1, Date date2) {
Calendar dc1 = Calendar.getInstance();
dc1.setTime(date1);
Calendar dc2 = Calendar.getInstance();
dc2.setTime(date2);
return dc1.after(dc2);
}
public static boolean before(Date date1, Date date2) {
Calendar dc1 = Calendar.getInstance();
dc1.setTime(date1);
Calendar dc2 = Calendar.getInstance();
dc2.setTime(date2);
return dc1.before(dc2);
}
//日期转换
public static java.sql.Date getBeforeAfterDate(String datestr, int day) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date olddate = null;
try {
df.setLenient(false);
olddate = new java.sql.Date(df.parse(datestr).getTime());
} catch (ParseException e) {
throw new RuntimeException("日期转换错误");
}
Calendar cal = new GregorianCalendar();
cal.setTime(olddate);
int Year = cal.get(Calendar.YEAR);
int Month = cal.get(Calendar.MONTH);
int Day = cal.get(Calendar.DAY_OF_MONTH);
int NewDay = Day + day;
cal.set(Calendar.YEAR, Year);
cal.set(Calendar.MONTH, Month);
cal.set(Calendar.DAY_OF_MONTH, NewDay);
return new java.sql.Date(cal.getTimeInMillis());
}
//参数日期+小时数得到新日期
//type:1=天数 ,2=小时数 3=月数
public static Date getNewDate(Date d,int num,int type){
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
switch (type) {
case 1:
calendar.add(Calendar.DAY_OF_YEAR, num);
break;
case 2:
calendar.add(Calendar.HOUR_OF_DAY, num);
break;
case 3:
calendar.add(Calendar.MONTH, num);
break;
}
return calendar.getTime();
}
/**
* 两个日期相差的天数,只精确到天
* @param date1
* @param date2
* @return
*/
public static Integer diffDays(Date date1, Date date2){
Calendar calendar1 = Calendar.getInstance();
calendar1.setTime(date1);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date2);
int days1 = calendar1.get(Calendar.DAY_OF_YEAR);
int days2 = calendar2.get(Calendar.DAY_OF_YEAR);
return Math.abs(days2 - days1);
}
/**
* 返回一天的结束时间
* @param d
* @return
*/
public String getEndTimeOfDays(String d) {
return d.trim() + " 23:59:59";
}
/**
* 去掉日期的时间部分
* @param d
* @return
*/
public String formatDateStr(String d) {
try {
return shortsdf.format(longsdf.parse(d));
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static void main(String args[]){
System.out.println(formatDate(getNewDate(new Date(),1 , 3)));
}
/**
* 获取过几分钟的时间
* @param d
* @param num
* @param type
* @return
*/
public static Date getDateAfterSomeMinutes(Date d,int minute){
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(Calendar.MINUTE, minute);
return calendar.getTime();
}
/**
* 获得过几小时的时间
*
* @param d 需要计算的时间类型
* @param hours 小时数
* @return
*/
public static Date addHours(Date d,int hours){
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(Calendar.HOUR, hours);
return calendar.getTime();
}
public static String formatDate(Date date,String format) {
String newDate = "";
if (date == null)
return newDate;
try {
SimpleDateFormat df = new SimpleDateFormat(format);
newDate = df.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return newDate;
}
}
分享到:
相关推荐
标题中的"PyPI 官网下载 | types-python-dateutil-0.1.4.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的软件包,名为`types-python-dateutil`,版本为0.1.4,其打包形式是tar.gz。PyPI是Python社区广泛...
资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...
- QrcodeUtils.java\防止SQL注入和XSS攻击Filter\获取文件绝对路径最后的文件夹名称\加密工具类 - CryptoUtils.java\日期工具类 - DateUtil.java\图片处理工具类 - ImageUtils.java\文件相关操作工具类——FileUtils...
在标题"python-dateutil-2.2.win-amd64-py2.7"和描述中,我们可以看到这个文件是针对Python 2.7版本的一个Windows 64位的安装包,版本为2.2。这表明它是一个专门为Python 2.7环境设计的日期和时间处理工具。 ...
或者,如果你已经下载了`python-dateutil-2.4.2.tar`压缩包,可以解压后进入目录,然后通过`setup.py`进行安装: ``` tar -xvf python-dateutil-2.4.2.tar cd python-dateutil-2.4.2 python setup.py install ...
在提供的压缩包`python-dateutil-1.5`中,包含了`dateutil`模块的1.5版本。虽然这个版本相对较旧,但对于OpenERP7这样的项目来说,它可能已经足够满足需求。不过,对于新的开发或升级,建议使用最新版本的`dateutil`...
在Java编程中,DateUtil工具类是用于处理和操作日期时间的一个常见实用程序类。它提供了许多方便的方法,使得开发者可以轻松地进行日期格式化、转换以及比较等操作。在这个"dateUtil工具类"中,我们可以看到核心功能...
* @(#)DateUtil.java * * * @author kidd * @version 1.00 2007/8/8 */ import java.util.*; import java.text.*; import java.sql.Timestamp; public class DateUtils { /** * 时间范围:年 */ ...
DateUtil 日期工具类
这个`python-dateutil-2.7.5`版本可能是该库的一个稳定版本,提供给用户下载的`.tar.gz`压缩包通常包含了源代码、文档、测试用例等内容。解压并安装源码包,可以通过执行以下步骤: ```bash tar -zxvf python-...
在微信小程序的开发过程中,"工具类"是指一组具有特定功能的代码模块,它们可以被复用,帮助开发者简化常见的编程任务,比如数据处理、网络请求、日期时间操作等。XCX-scaffold案例源码很可能是为了解析和展示如何...
"Android日期工具类DateUtil详解" Android开发中日期工具类DateUtil是Android开发中一个非常重要的工具类,它提供了许多有用的方法来处理日期和时间相关的操作。今天,我们将详细介绍DateUtil工具类的实现和使用。 ...
在`DateUtil-master`这个压缩包中,应该包含了`DateUtil`工具类的源码,你可以查阅这些代码以了解具体实现细节。通过对日期进行有效管理和操作,开发者可以更高效地处理各种日期相关的业务逻辑,如记录日志、计算...
在Java编程语言中,`DateUtil`通常是一个自定义的工具类,用于处理与日期和时间相关的操作。这个工具类可以极大地简化日期处理任务,提供比Java内置的`java.util.Date`和`java.time`包更友好的API。在本文中,我们将...
Java中的DateUtil时间工具类是开发者在处理日期和时间时常用的一个自定义工具类。它通常包含了一系列静态方法,用于简化Java内置的日期和时间API的使用,提高代码的可读性和可维护性。在实际开发中,由于Java 8之前...
这是一个功能很强大的时间的工具类,是本人在做项目中,积累的,当然也有cope别人的.我是集成了所有好用的类,拿出来分享,希望能帮助大家!!!! 如果还没有实现的功能,请大家留言!我会尽快的更新,实现你们想要的功能.
dateUtil js工具类
public static final String YYYYMMDDHHMMSS = "yyyy/MM/dd HH:mm:ss";
在Java编程中,DateUtil是一个常见的工具类,用于处理日期和时间相关的操作。这个类通常包含了一系列静态方法,便于开发者进行日期格式化、日期比较、日期计算等常见任务。下面我们将详细探讨DateUtil中的关键知识点...
JS日期工具类,方便大家的使用。后期会持续更新.......