java日期操作常用工具
package com..util;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DataUtil {
/**
* 功能: 将日期对象按照某种格式进行转换,返回转换后的字符串
*
* @param date 日期对象
* @param pattern 转换格式 例:yyyy-MM-dd
*/
public static String DateToString(Date date, String pattern) {
String strDateTime = null;
SimpleDateFormat formater = new SimpleDateFormat(pattern);
strDateTime = date == null ? null : formater.format(date);
return strDateTime;
}
/**
* 功能: 将传入的日期对象按照yyyy-MM-dd格式转换成字符串返回
*
* @param date 日期对象
* @return String
*/
public static String DateToString(Date date) {
String _pattern = "yyyy-MM-dd";
return date == null ? null : DateToString(date, _pattern);
}
/**
* 功能: 将传入的日期对象按照yyyy-MM-dd HH:mm:ss格式转换成字符串返回
*
* @param date 日期对象
* @return String
*/
public static String DateTimeToString(Date date) {
String _pattern = "yyyy-MM-dd HH:mm:ss";
return date == null ? null : DateToString(date, _pattern);
}
/**
* 功能: 将插入的字符串按格式转换成对应的日期对象
*
* @param str 字符串
* @param pattern 格式
* @return Date
*/
public static Date StringToDate(String str, String pattern) {
Date dateTime = null;
try {
if (str != null && !str.equals("")) {
SimpleDateFormat formater = new SimpleDateFormat(pattern);
dateTime = formater.parse(str);
}
} catch (Exception ex) {
}
return dateTime;
}
/**
* 功能: 将传入的字符串按yyyy-MM-dd格式转换成对应的日期对象
*
* @param str 需要转换的字符串
* @return Date 返回值
*/
public static Date StringToDate(String str) {
String _pattern = "yyyy-MM-dd";
return StringToDate(str, _pattern);
}
/**
* 功能: 将传入的字符串按yyyy-MM-dd HH:mm:ss格式转换成对应的日期对象
*
* @param str 需要转换的字符串
* @return Date
*/
public static Date StringToDateTime(String str) {
String _pattern = "yyyy-MM-dd HH:mm:ss";
return StringToDate(str, _pattern);
}
/**
* 功能: 将传入的字符串转换成对应的Timestamp对象
*
* @param str 待转换的字符串
* @return Timestamp 转换之后的对象
* @throws Exception
* Timestamp
*/
public static Timestamp StringToDateHMS(String str) throws Exception {
Timestamp time = null;
time = Timestamp.valueOf(str);
return time;
}
/**
* 功能: 根据传入的年月日返回相应的日期对象
*
* @param year 年份
* @param month 月份
* @param day 天
* @return Date 日期对象
*/
public static Date YmdToDate(int year, int month, int day) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
return calendar.getTime();
}
/**
* 功能: 将日期对象按照MM/dd HH:mm:ss的格式进行转换,返回转换后的字符串
*
* @param date 日期对象
* @return String 返回值
*/
public static String communityDateToString(Date date) {
SimpleDateFormat formater = new SimpleDateFormat("MM/dd HH:mm:ss");
String strDateTime = date == null ? null : formater.format(date);
return strDateTime;
}
public static Date getMaxDateOfDay(Date date) {
if (date == null) {
return null;
} else {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(11, calendar.getActualMaximum(11));
calendar.set(12, calendar.getActualMaximum(12));
calendar.set(13, calendar.getActualMaximum(13));
calendar.set(14, calendar.getActualMaximum(14));
return calendar.getTime();
}
}
public static Date getMinDateOfDay(Date date) {
if (date == null) {
return null;
} else {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(11, calendar.getActualMinimum(11));
calendar.set(12, calendar.getActualMinimum(12));
calendar.set(13, calendar.getActualMinimum(13));
calendar.set(14, calendar.getActualMinimum(14));
return calendar.getTime();
}
}
/**
* 功能:返回传入日期对象(date)之后afterDays天数的日期对象
*
* @param date 日期对象
* @param afterDays 往后天数
* @return java.util.Date 返回值
*/
public static Date getAfterDay(Date date, int afterDays) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 1);
return cal.getTime();
}
// day
/**
* 功能: 返回date1与date2相差的天数
*
* @param date1
* @param date2
* @return int
*/
public static int DateDiff(Date date1, Date date2) {
int i = (int) ((date1.getTime() - date2.getTime()) / 3600 / 24 / 1000);
return i;
}
// min
/**
* 功能: 返回date1与date2相差的分钟数
*
* @param date1
* @param date2
* @return int
*/
public static int MinDiff(Date date1, Date date2) {
int i = (int) ((date1.getTime() - date2.getTime()) / 1000 / 60);
return i;
}
// second
/**
* 功能: 返回date1与date2相差的秒数
*
* @param date1
* @param date2
* @return int
*/
public static int TimeDiff(Date date1, Date date2) {
int i = (int) ((date1.getTime() - date2.getTime()));
return i;
}
}
java日期操作常用工具的更多相关文章
- java日期操作的工具类时间格式的转换
package cn.itcast.oa.util; import java.text.ParseException; import java.text.SimpleDateFormat;import ...
- Java程序员常用工具类库
有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework ...
- java日期操作大全
摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个: 取得指定月份的第一天与取得指定月份的最后一天 http ...
- java日期操作 大全
先来一个: 取得指定月份的第一天与取得指定月份的最后一天 http://iamin.blogdriver.com/iamin/847990.html )); } ...
- Java日期时间实用工具类
Java日期时间实用工具类 1.Date (java.util.Date) Date(); 以当前时间构造一个Date对象 Date(long); 构造函数 ...
- Java后端开发常用工具
Java后端开发常用工具推荐: 俗话说,工欲善其事,必先利其器.不过初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronize ...
- Java程序员常用工具类库 - 目录
有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework ...
- java 微信开发 常用工具类(xml传输和解析 json转换对象)
与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io. ...
- java性能优化常用工具jmap、jstack
jmap:java内存映像工具 jmap用于生成堆转储快照,比较常用的option包括-heap,-histo,-dump [root@localhost script]# jmap -h Usage ...
随机推荐
- SSH深度历险(八) 剖析SSH核心原理+Spring依赖注入的三种方式
在java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依 ...
- Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original
Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that cr ...
- C++对C的函数拓展 - 占位参数
函数占位参数 占位参数只有参数类型声明,而没有参数名声明 一般情况下,在函数体内部无法使用占位参数 demo #include <iostream> using namespace std ...
- iOS开发之六:常用控件--UIImageView的使用
UIImageView是我们做iOS开发用的非常多的一个控件,IOS中的各种图片,包括头像,有的背景图片等基本都要用到这个控件. 1.常用的属性以及方法 <span style="fo ...
- Spark程序开发-环境搭建-程序编写-Debug调试-项目提交
1,使用IDEA软件进行开发. 在idea中新建scala project, File-->New-->Project.选择Scala-->Scala 2,在编辑窗口中完成Word ...
- 在CSDN开通博客专栏后如何发布文章(图文)
今天打开电脑登上CSDN发现自己授予了专栏勋章,有必要了解如何在专栏发布文章. 很感谢已经有前辈给出了图文教程,此文章转载自博客:http://blog.csdn.net/upi2u/article/ ...
- Torch的安装和学习
Long long ago, 就已经安装好Torch,这里再记录一下.Torch是Facebook开发的用于AI的科学计算框架,可广泛运用于机器学习的很多算法.相比Caffe,其接口运用更加方便,使用 ...
- JAVA内部类_2
(d)匿名内部类 如果只创建这个类的第一个对象,就无需命名. 由于构造器的名字必须与类名相同,而匿名类没有类名,所以匿名类没有构造器. 取而代之的是将构造器参数传递给超类构造器. 在内部类实现接口的时 ...
- Socket编程实践(8) --Select-I/O复用
五种I/O模型介绍 (1)阻塞I/O[默认] 当上层应用App调用recv系统调用时,如果对等方没有发送数据(Linux内核缓冲区中没有数据),上层应用Application1将阻塞;当对等方发送了数 ...
- Android移动后端服务(BAAS)快速搭建后台服务器之Bmob-android学习之旅(75)
个人移动开发者的最头疼的问题,就是App的网络后台,包含数据库等,国外目前有比较成熟的解决方案,但是限制于墙的问题,推荐国内的解决方案,比较出名的是Bmob和AVOS cloud和Atom等,这一次我 ...