原文地址:http://blog.csdn.net/zhiweianran/article/details/7991531

package com.ace.backoffice.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar; public class DateUtils {
/**
* 将指定字符串转换成日期
*
* @param date
* String 日期字符串
* @param datePattern
* String 日期格式
* @return Date
*/
public static java.util.Date getFormatDate(String date, String datePattern) {
SimpleDateFormat sd = new SimpleDateFormat(datePattern);
return sd.parse(date, new java.text.ParsePosition(0));
} /**
* 将指定日期对象转换成格式化字符串
*
* @param date
* Date XML日期对象
* @param datePattern
* String 日期格式
* @return String
*/
public static String getFormattedString(Date date, String datePattern) {
SimpleDateFormat sd = new SimpleDateFormat(datePattern); return sd.format(date);
} /**
* 将指定XML日期对象转换成格式化字符串
*
* @param xmlDate
* Date XML日期对象
* @param datePattern
* String 日期格式
* @return String
*/
public static String getFormattedString(XMLGregorianCalendar xmlDate,
String datePattern) {
SimpleDateFormat sd = new SimpleDateFormat(datePattern); Calendar calendar = xmlDate.toGregorianCalendar(); return sd.format(calendar.getTime());
} /**
* 将指定XML日期对象转换成日期对象
*
* @param xmlDate
* Date XML日期对象
* @param datePattern
* String 日期格式
* @return Date
*/
public static Date xmlGregorianCalendar2Date(XMLGregorianCalendar xmlDate) {
return xmlDate.toGregorianCalendar().getTime();
} public static String getThisYear() {
// 获得当前日期
Calendar cldCurrent = Calendar.getInstance();
// 获得年月日
String strYear = String.valueOf(cldCurrent.get(Calendar.YEAR));
return strYear;
} public static XMLGregorianCalendar convert2XMLCalendar(Calendar calendar) {
try {
DatatypeFactory dtf = DatatypeFactory.newInstance();
return dtf.newXMLGregorianCalendar(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH)+1,
calendar.get(Calendar.DAY_OF_MONTH),
calendar.get(Calendar.HOUR),
calendar.get(Calendar.MINUTE),
calendar.get(Calendar.SECOND),
calendar.get(Calendar.MILLISECOND),
calendar.get(Calendar.ZONE_OFFSET)/(1000*60)); } catch (DatatypeConfigurationException e) {
e.printStackTrace();
return null;
}
} // 获取当天时间
public static java.sql.Timestamp getNowTime(String dateformat) {
Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);// 可以方便地修改日期格式
String dateString = dateFormat.format(now);
SimpleDateFormat sd = new SimpleDateFormat(dateformat);
Date dateFormt = sd.parse(dateString, new java.text.ParsePosition(0));
java.sql.Timestamp dateTime = new java.sql.Timestamp(dateFormt
.getTime()); return dateTime;
// return hehe;
} // 获取指定时间
public static java.sql.Timestamp getNowNewTime(String date,String dateformat){
//Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);//可以方便地修改日期格式
dateFormat.parse(date, new java.text.ParsePosition(0)); // String dateString= dateFormat.format(date);
Date dateFormt= dateFormat.parse(date, new java.text.ParsePosition(0));
java.sql.Timestamp dateTime = new java.sql.Timestamp(dateFormt.getTime()); return dateTime;
// return hehe;
}
/**
* @param 含有yyyy-MM-dd'T'hh:mm:ss.SSS格式的时间转换.
* @return
*/
public static String getTFormatString(String tdate) {
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
String str ="";
try {
java.util.Date date = format1.parse(tdate);
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
str = format2.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return str;
} public static void main(String[] args) {
SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd");
String date = "20110202";
System.out.println(sd.parse(date, new java.text.ParsePosition(0)));
System.out.println(getBefore2HourDate());
}
//获取当前时间前2个小时的时间。
public static String getBefore2HourDate(){
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Calendar c = Calendar.getInstance();
c.add(Calendar.HOUR_OF_DAY, -2); // 目前時間加3小時
return df.format(c.getTime()); } /**
*
* @param time1 当前时间
* @param time2 比较时间
* @return 如果time1比time2大gap分钟,则返回true;
*/
public static boolean compareDateTime(Date time1, Date time2, int gap) {
return time1.getTime() - time2.getTime() > gap * 60 * 1000;
}
}

最新文章

  1. Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
  2. 【Python】[函数式编程]高阶函数,返回函数,装饰器,偏函数
  3. Linux Hackers/Suspicious Account Detection
  4. 理解insert all/insert first的使用
  5. Getting Started with Java
  6. Jmail的邮件发送
  7. OI记忆口诀
  8. 解决animate动画连续播放bug
  9. webuploader文件上传问题总结
  10. 细数C++和C的差别
  11. SICP-2锻炼.34
  12. 2715:谁拿了最多奖学金-poj
  13. Linux-监控目录及文件
  14. vcenter新建虚拟机centos7作为虚拟机模板
  15. JOI 2018 Final 题解
  16. gateway + jwt 网关认证
  17. JS对象复制(深拷贝、浅拷贝)
  18. [No0000D2]ClearCSharp编程清理脚本批处理bat
  19. MySQL MHA 搭建&测试(环境:CentOS7 + MySQL5.7.23)
  20. 75道阿里Java面试题,你能答上几道?

热门文章

  1. CAS 服务端数据库认证
  2. 下拉选择框 Spinner的用法。
  3. TListBox的项目个数
  4. sublime text3的快捷键
  5. Alpha阶段敏捷冲刺---Day3
  6. Linux 内核链表实现和使用(一阴一阳,太极生两仪~)
  7. C++/C 宏定义(define)中# ## 的含义 宏拼接
  8. [leetcode] 94. Binary Tree Inorder Traversal 二叉树的中序遍历
  9. tensorflow中的参数初始化方法
  10. hacking a friend's Linux buzzer driver in OK335xS