整理的java的日期DateUtil
- package cn.knet.data.untils;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.GregorianCalendar;
- /**
- * yyyy-MM-dd HH:mm:ss
- * @author zhaoyb
- *
- */
- public class DateUtil {
- /**
- * 把日期字符串格式化成日期类型
- * @param dateStr
- * @param format
- * @return
- */
- public static Date convert2Date(String dateStr, String format) {
- SimpleDateFormat simple = new SimpleDateFormat(format);
- try {
- simple.setLenient(false);
- return simple.parse(dateStr);
- } catch (Exception e) {
- return null;
- }
- }
- /**
- * 把日期类型格式化成字符串
- * @param date
- * @param format
- * @return
- */
- public static String convert2String(Date date, String format) {
- SimpleDateFormat formater = new SimpleDateFormat(format);
- try {
- return formater.format(date);
- } catch (Exception e) {
- return null;
- }
- }
- /**
- * 转sql的time格式
- * @param date
- * @return
- */
- public static java.sql.Timestamp convertSqlTime(Date date){
- java.sql.Timestamp timestamp = new java.sql.Timestamp(date.getTime());
- return timestamp;
- }
- /**
- * 转sql的日期格式
- * @param date
- * @return
- */
- public static java.sql.Date convertSqlDate(Date date){
- java.sql.Date Datetamp = new java.sql.Date(date.getTime());
- return Datetamp;
- }
- /**
- * 获取当前日期
- * @param format
- * @return
- */
- public static String getCurrentDate(String format) {
- return new SimpleDateFormat(format).format(new Date());
- }
- /**
- * 获取时间戳
- * @return
- */
- public static long getTimestamp()
- {
- return System.currentTimeMillis();
- }
- /**
- * 获取月份的天数
- * @param year
- * @param month
- * @return
- */
- public static int getDaysOfMonth(int year, int month) {
- Calendar calendar = Calendar.getInstance();
- calendar.set(year, month - 1, 1);
- return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
- }
- /**
- * 获取日期的年
- * @param date
- * @return
- */
- public static int getYear(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- return calendar.get(Calendar.YEAR);
- }
- /**
- * 获取日期的月
- * @param date
- * @return
- */
- public static int getMonth(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- return calendar.get(Calendar.MONTH) + 1;
- }
- /**
- * 获取日期的日
- * @param date
- * @return
- */
- public static int getDay(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- return calendar.get(Calendar.DATE);
- }
- /**
- * 获取日期的时
- * @param date
- * @return
- */
- public static int getHour(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- return calendar.get(Calendar.HOUR);
- }
- /**
- * 获取日期的分种
- * @param date
- * @return
- */
- public static int getMinute(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- return calendar.get(Calendar.MINUTE);
- }
- /**
- * 获取日期的秒
- * @param date
- * @return
- */
- public static int getSecond(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- return calendar.get(Calendar.SECOND);
- }
- /**
- * 获取星期几
- * @param date
- * @return
- */
- public static int getWeekDay(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
- return dayOfWeek-1;
- }
- /**
- * 获取哪一年共有多少周
- * @param year
- * @return
- */
- public static int getMaxWeekNumOfYear(int year) {
- Calendar c = new GregorianCalendar();
- c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);
- return getWeekNumOfYear(c.getTime());
- }
- /**
- * 取得某天是一年中的多少周
- * @param date
- * @return
- */
- public static int getWeekNumOfYear(Date date) {
- Calendar c = new GregorianCalendar();
- c.setFirstDayOfWeek(Calendar.MONDAY);
- c.setMinimalDaysInFirstWeek(7);
- c.setTime(date);
- return c.get(Calendar.WEEK_OF_YEAR);
- }
- /**
- * 取得某天所在周的第一天
- * @param year
- * @return
- */
- public static Date getFirstDayOfWeek(Date date) {
- Calendar c = new GregorianCalendar();
- c.setFirstDayOfWeek(Calendar.MONDAY);
- c.setTime(date);
- c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
- return c.getTime();
- }
- /**
- * 取得某天所在周的最后一天
- * @param date
- * @return
- */
- public static Date getLastDayOfWeek(Date date) {
- Calendar c = new GregorianCalendar();
- c.setFirstDayOfWeek(Calendar.MONDAY);
- c.setTime(date);
- c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6);
- return c.getTime();
- }
- /**
- * 取得某年某周的第一天 对于交叉:2008-12-29到2009-01-04属于2008年的最后一周,2009-01-05为2009年第一周的第一天
- * @param year
- * @param week
- * @return
- */
- public static Date getFirstDayOfWeek(int year, int week) {
- Calendar calFirst = Calendar.getInstance();
- calFirst.set(year, 0, 7);
- Date firstDate = getFirstDayOfWeek(calFirst.getTime());
- Calendar firstDateCal = Calendar.getInstance();
- firstDateCal.setTime(firstDate);
- Calendar c = new GregorianCalendar();
- c.set(Calendar.YEAR, year);
- c.set(Calendar.MONTH, Calendar.JANUARY);
- c.set(Calendar.DATE, firstDateCal.get(Calendar.DATE));
- Calendar cal = (GregorianCalendar) c.clone();
- cal.add(Calendar.DATE, (week - 1) * 7);
- firstDate = getFirstDayOfWeek(cal.getTime());
- return firstDate;
- }
- /**
- * 取得某年某周的最后一天 对于交叉:2008-12-29到2009-01-04属于2008年的最后一周, 2009-01-04为
- * 2008年最后一周的最后一天
- * @param year
- * @param week
- * @return
- */
- public static Date getLastDayOfWeek(int year, int week) {
- Calendar calLast = Calendar.getInstance();
- calLast.set(year, 0, 7);
- Date firstDate = getLastDayOfWeek(calLast.getTime());
- Calendar firstDateCal = Calendar.getInstance();
- firstDateCal.setTime(firstDate);
- Calendar c = new GregorianCalendar();
- c.set(Calendar.YEAR, year);
- c.set(Calendar.MONTH, Calendar.JANUARY);
- c.set(Calendar.DATE, firstDateCal.get(Calendar.DATE));
- Calendar cal = (GregorianCalendar) c.clone();
- cal.add(Calendar.DATE, (week - 1) * 7);
- Date lastDate = getLastDayOfWeek(cal.getTime());
- return lastDate;
- }
- private static Date add(Date date, int calendarField, int amount) {
- if (date == null) {
- throw new IllegalArgumentException("The date must not be null");
- } else {
- Calendar c = Calendar.getInstance();
- c.setTime(date);
- c.add(calendarField, amount);
- return c.getTime();
- }
- }
- /*
- * 1则代表的是对年份操作, 2是对月份操作, 3是对星期操作, 5是对日期操作, 11是对小时操作, 12是对分钟操作, 13是对秒操作,
- * 14是对毫秒操作
- */
- /**
- * 增加年
- * @param date
- * @param amount
- * @return
- */
- public static Date addYears(Date date, int amount) {
- return add(date, 1, amount);
- }
- /**
- * 增加月
- * @param date
- * @param amount
- * @return
- */
- public static Date addMonths(Date date, int amount) {
- return add(date, 2, amount);
- }
- /**
- * 增加周
- * @param date
- * @param amount
- * @return
- */
- public static Date addWeeks(Date date, int amount) {
- return add(date, 3, amount);
- }
- /**
- * 增加天
- * @param date
- * @param amount
- * @return
- */
- public static Date addDays(Date date, int amount) {
- return add(date, 5, amount);
- }
- /**
- * 增加时
- * @param date
- * @param amount
- * @return
- */
- public static Date addHours(Date date, int amount) {
- return add(date, 11, amount);
- }
- /**
- * 增加分
- * @param date
- * @param amount
- * @return
- */
- public static Date addMinutes(Date date, int amount) {
- return add(date, 12, amount);
- }
- /**
- * 增加秒
- * @param date
- * @param amount
- * @return
- */
- public static Date addSeconds(Date date, int amount) {
- return add(date, 13, amount);
- }
- /**
- * 增加毫秒
- * @param date
- * @param amount
- * @return
- */
- public static Date addMilliseconds(Date date, int amount) {
- return add(date, 14, amount);
- }
- /**
- * time差
- * @param before
- * @param after
- * @return
- */
- public static long diffTimes(Date before, Date after){
- return after.getTime() - before.getTime();
- }
- /**
- * 秒差
- * @param before
- * @param after
- * @return
- */
- public static long diffSecond(Date before, Date after){
- return (after.getTime() - before.getTime())/1000;
- }
- /**
- * 分种差
- * @param before
- * @param after
- * @return
- */
- public static int diffMinute(Date before, Date after){
- return (int)(after.getTime() - before.getTime())/1000/60;
- }
- /**
- * 时差
- * @param before
- * @param after
- * @return
- */
- public static int diffHour(Date before, Date after){
- return (int)(after.getTime() - before.getTime())/1000/60/60;
- }
- /**
- * 天数差
- * @param date1
- * @param date2
- * @return
- */
- public static int diffDay(Date before, Date after) {
- return Integer.parseInt(String.valueOf(((after.getTime() - before.getTime()) / 86400000)));
- }
- /**
- * 月差
- * @param before
- * @param after
- * @return
- */
- public static int diffMonth(Date before, Date after){
- int monthAll=0;
- int yearsX = diffYear(before,after);
- Calendar c1 = Calendar.getInstance();
- Calendar c2 = Calendar.getInstance();
- c1.setTime(before);
- c2.setTime(after);
- int monthsX = c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH);
- monthAll=yearsX*12+monthsX;
- int daysX =c2.get(Calendar.DATE) - c1.get(Calendar.DATE);
- if(daysX>0){
- monthAll=monthAll+1;
- }
- return monthAll;
- }
- /**
- * 年差
- * @param before
- * @param after
- * @return
- */
- public static int diffYear(Date before, Date after) {
- return getYear(after) - getYear(before);
- }
- /**
- * 设置23:59:59
- * @param date
- * @return
- */
- public static Date setEndDay(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- calendar.set(Calendar.HOUR_OF_DAY, 23);
- calendar.set(Calendar.MINUTE, 59);
- calendar.set(Calendar.SECOND, 59);
- return calendar.getTime();
- }
- /**
- * 设置00:00:00
- * @param date
- * @return
- */
- public static Date setStartDay(Date date) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- calendar.set(Calendar.HOUR_OF_DAY, 00);
- calendar.set(Calendar.MINUTE, 00);
- calendar.set(Calendar.SECOND, 00);
- return calendar.getTime();
- }
- }
整理的java的日期DateUtil的更多相关文章
- [转载]Java 8 日期&时间 API
Java 8 日期和时间 声明 本文转自http://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant,以mark ...
- 国外程序员整理的Java资源大全分享
Java 几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员 Andreas Kull 在其 Github 上整理了非常优秀的 Java 开发资源,推荐给大家. 译文由 Imp ...
- 【转】国外程序员整理的Java资源大全
Java几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员Andreas Kull在其Github上整理了非常优秀的Java开发资源,推荐给大家.译文由ImportNew- 唐 ...
- JAVA 8 日期工具类
JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...
- Java常用日期操作
对java中常用的日期操作进行整理. 1.日期格式化 /* * 日期格式化类(必须掌握) * API: * G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Mo ...
- 【转载】国外程序员整理的Java资源大全
以下转载自: 推荐!国外程序员整理的Java资源大全中文版 https://github.com/akullpp/awesome-java英文版 Java 几乎是许多程序员们的入门语言,并且也是 ...
- 【转】JAVA 8 日期/时间(Date Time)API指南
前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...
- 记一个JAVA关于日期的坑
JAVA解析日期格式代码,之前一直写成:“yyyy-MM-dd hh:mm”,比如"2016-01-18 11:00"."2016-01-18 15:00"都可 ...
- 国外程序员整理的Java资源
好资料,慢慢学习.http://www.importnew.com/14429.html 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理, ...
随机推荐
- 【Android测试】【随笔】与 “美丽说” 测试同事交流
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5405432.html 分享者简介 雪晗,3年+测试经验,现 ...
- The Bip Buffer - The Circular Buffer with a Twist
Introduction The Bip-Buffer is like a circular buffer, but slightly different. Instead of keeping on ...
- [LeetCode]题解(python):090 Subsets II
题目来源 https://leetcode.com/problems/subsets-ii/ Given a collection of integers that might contain dup ...
- [LeetCode]题解(python):045-Jump game II
题目来源 https://leetcode.com/problems/jump-game-ii/ Given an array of non-negative integers, you are in ...
- Java 日志管理最佳实践
转:http://blog.jobbole.com/51155/ 日志记录是应用程序运行中必不可少的一部分.具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源.对于开 ...
- LeetCode Longest Palindrome
原题链接在这里:https://leetcode.com/problems/longest-palindrome/ 题目: Given a string which consists of lower ...
- 一行两端对齐justify-content
一.之前不了解css3的属性,更没听过flex布局 在处理表单前面的文字,两端对齐,按照我之前的前端人员,加空格处理,但是在不浏览器解析空格的宽是不一样的 上图就用空格,在不同浏览器显示的效果,有时候 ...
- keyup、keydown和keypress
1.keydown(fn)(按下触发) 语法: $().keydown(function(e){ alert(e.keyCode); //按下a返回65 }) 例子: 2.keyup(fn)(按下弹起 ...
- JavaScript: JavaScript的简介和入门代码演示
1.Javascript的发展历史介绍: javascript是指的实在网页上编写的编程语言,其主要是控制器html的动态显示效果.HTMl能带来的只是一些基本的页面的风格,而要展示的漂亮使用CSS, ...
- js访sleep方法
function sleep(n) { var start = new Date().getTime(); while (true) if (new Date().getTime() - start ...