1. import java.text.DateFormat;
  2. import java.text.ParseException;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6.  
  7. /**
  8. * 说明:日期处理
  9. * @version
  10. */
  11. public class DateUtil {
  12.  
  13. private final static SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");
  14. private final static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd");
  15. private final static SimpleDateFormat sdfDays = new SimpleDateFormat("yyyyMMdd");
  16. private final static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  17. private final static SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyyMMddHHmmss");
  18.  
  19. /**
  20. * 获取YYYY格式
  21. * @return
  22. */
  23. public static String getSdfTimes() {
  24. return sdfTimes.format(new Date());
  25. }
  26.  
  27. /**
  28. * 获取YYYY格式
  29. * @return
  30. */
  31. public static String getYear() {
  32. return sdfYear.format(new Date());
  33. }
  34.  
  35. /**
  36. * 获取YYYY-MM-DD格式
  37. * @return
  38. */
  39. public static String getDay() {
  40. return sdfDay.format(new Date());
  41. }
  42.  
  43. /**
  44. * 获取YYYYMMDD格式
  45. * @return
  46. */
  47. public static String getDays(){
  48. return sdfDays.format(new Date());
  49. }
  50.  
  51. /**
  52. * 获取YYYY-MM-DD HH:mm:ss格式
  53. * @return
  54. */
  55. public static String getTime() {
  56. return sdfTime.format(new Date());
  57. }
  58.  
  59. /**
  60. * @Title: compareDate
  61. * @Description: TODO(日期比较,如果s>=e 返回true 否则返回false)
  62. * @param s
  63. * @param e
  64. * @return boolean
  65. * @throws
  66. * @author fh
  67. */
  68. public static boolean compareDate(String s, String e) {
  69. if(fomatDate(s)==null||fomatDate(e)==null){
  70. return false;
  71. }
  72. return fomatDate(s).getTime() >=fomatDate(e).getTime();
  73. }
  74.  
  75. /**
  76. * 格式化日期
  77. * @return
  78. */
  79. public static Date fomatDate(String date) {
  80. DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
  81. try {
  82. return fmt.parse(date);
  83. } catch (ParseException e) {
  84. e.printStackTrace();
  85. return null;
  86. }
  87. }
  88.  
  89. /**
  90. * 校验日期是否合法
  91. * @return
  92. */
  93. public static boolean isValidDate(String s) {
  94. DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
  95. try {
  96. fmt.parse(s);
  97. return true;
  98. } catch (Exception e) {
  99. // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
  100. return false;
  101. }
  102. }
  103.  
  104. /**
  105. * @param startTime
  106. * @param endTime
  107. * @return
  108. */
  109. public static int getDiffYear(String startTime,String endTime) {
  110. DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
  111. try {
  112. //long aa=0;
  113. int years=(int) (((fmt.parse(endTime).getTime()-fmt.parse(startTime).getTime())/ (1000 * 60 * 60 * 24))/365);
  114. return years;
  115. } catch (Exception e) {
  116. // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
  117. return 0;
  118. }
  119. }
  120.  
  121. /**
  122. * <li>功能描述:时间相减得到天数
  123. * @param beginDateStr
  124. * @param endDateStr
  125. * @return
  126. * long
  127. * @author Administrator
  128. */
  129. public static long getDaySub(String beginDateStr,String endDateStr){
  130. long day=0;
  131. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  132. Date beginDate = null;
  133. Date endDate = null;
  134.  
  135. try {
  136. beginDate = format.parse(beginDateStr);
  137. endDate= format.parse(endDateStr);
  138. } catch (ParseException e) {
  139. e.printStackTrace();
  140. }
  141. day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);
  142. //System.out.println("相隔的天数="+day);
  143.  
  144. return day;
  145. }
  146.  
  147. /**
  148. * 得到n天之后的日期
  149. * @param days
  150. * @return
  151. */
  152. public static String getAfterDayDate(String days) {
  153. int daysInt = Integer.parseInt(days);
  154.  
  155. Calendar canlendar = Calendar.getInstance(); // java.util包
  156. canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动
  157. Date date = canlendar.getTime();
  158.  
  159. SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  160. String dateStr = sdfd.format(date);
  161.  
  162. return dateStr;
  163. }
  164.  
  165. /**
  166. * 得到n天之后是周几
  167. * @param days
  168. * @return
  169. */
  170. public static String getAfterDayWeek(String days) {
  171. int daysInt = Integer.parseInt(days);
  172. Calendar canlendar = Calendar.getInstance(); // java.util包
  173. canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动
  174. Date date = canlendar.getTime();
  175. SimpleDateFormat sdf = new SimpleDateFormat("E");
  176. String dateStr = sdf.format(date);
  177. return dateStr;
  178. }
  179.  
  180. public static void main(String[] args) {
  181. System.out.println(getDays());
  182. System.out.println(getAfterDayWeek("3"));
  183. }
  184.  
  185. }

Java DateUtil,日期整理的更多相关文章

  1. [转载]Java 8 日期&时间 API

    Java 8 日期和时间 声明 本文转自http://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant,以mark ...

  2. 尚学堂Java面试题整理

    博客分类: 经典分享   1. super()与this()的差别? - 6 -  2. 作用域public,protected,private,以及不写时的差别? - 6 -  3. 编程输出例如以 ...

  3. JAVA 8 日期工具类

    JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...

  4. Java基础进阶整理

    Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...

  5. 【转】JAVA 8 日期/时间(Date Time)API指南

    前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...

  6. 记一个JAVA关于日期的坑

    JAVA解析日期格式代码,之前一直写成:“yyyy-MM-dd hh:mm”,比如"2016-01-18 11:00"."2016-01-18 15:00"都可 ...

  7. java获取日期之间的差异

    转载请注明出处.谢谢http://blog.csdn.net/harryweasley/article/details/42121485 当想到要计算差值.我们肯定想的是"2014.12.1 ...

  8. Java 学习资料整理

    Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...

  9. Java学习资源整理(超级全面)

    这里整理一些自己平常搜集的比较好的关于Java的学习资源,主要包括博客站点.书籍.课程等. 了解Java最新资讯 这部分主要是了解与Java相关的动态以及信息,能够拓展我们的视野以及寻找一些好的ide ...

  10. java 获取日期的几天前,几个月前和几年前

    java 获取日期的几天前,几个月前和几年前. package bys.utils; import java.util.Date; /** * Created by toutou on 2015/3/ ...

随机推荐

  1. 使用vue如何默认选中单选框

    使用了vue以后,发现这真的是一个灵活高效的框架,能够轻松实现页面的实时刷新.那么,今天先聊聊单选框的使用.一般我们使用单选框,会这么写: //HTML <input type=" c ...

  2. (转)Mybatis insert后返回主键给实体对象(Mysql数据库)

    <insert id="insert" parameterType="com.zqgame.game.website.models.Team"> & ...

  3. web api 获取传过来的Json

    public async void PostOrder(HttpRequestMessage request) { String responseBodyAsText = await request. ...

  4. OpenCV Mat数据类型及位数总结(转载)

    OpenCV Mat数据类型及位数总结(转载) 前言 opencv中很多数据结构为了达到內存使用的最优化,通常都会用它最小上限的空间来分配变量,有的数据结构也会因为图像文件格式的关系而给予适当的变量, ...

  5. springmvc学习笔记一框架的理解

    SpringMVC现在在很多公司都很流行,所以这个框架对我们来说,是很重要的. 首先我们对比mvc来分析springmvc这个框架是怎么设计,以及它的工作的流程. 首先来看mvc: 1.  用户发起r ...

  6. sql查询一列 重复的数据

    select * from 表 where num  in(select num  from 表 group by num having count(num)>1)

  7. Bus memory attribute

    根据程序的局部性原理,在主存与CPU之间设置的一个高速的容量较小的存储器,叫做cache. ARM cache架构由cache存储器和写缓冲器(write-buffer)组成.其中Write_buff ...

  8. 统计方法运行时间【Java实现】

    接口Command:定义命令的执行操作 package common; public interface Command { // 运行方法 void run(); } CommandRuntime ...

  9. python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数

    文件的读写操作默认使用系统编码,可以通过调用sys.getdefaultencoding() 来得到.在大多数机器上面都是utf-8 编码.如果你已经知道你要读写的文本是其他编码方式,那么可以通过传递 ...

  10. Excel脱拽或者下拉公式时, 保持公式里单元格数字不变

    绝对引用 可以选中B1 用F4快捷键自己就给加绝对引用符号了 然后回车 复制或者拖拽