java 日期的工具类_java 日期时间工具类
package org.apache.pwd.util;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateFormatUtil {
/** 12小时制 */
private static final String DATE_FORMAT_12_HOUR = "yyyy/MM/dd hh:mm:ss";
/** 24小时制 */
private static final String DATE_FORMAT_24_HOUR = "yyyy/MM/dd HH:mm:ss";
/**
* 根据格式返回日期字符串
*
* @param dateInfo
* 日期
* @param stringFormat
* 格式化字符串
* @return 日期字符串
*/
public static String getStringDate(Date dateInfo, String stringFormat) {
if(isNullOrEmpty(stringFormat)){
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(stringFormat);
String formated = sdf.format(dateInfo);
return formated;
}
/**
* 根据格式返回日期
*
* @param dateInfo
* 日期字符串
* @param stringFormat
* 格式化字符串
* @return 日期
* @throws Exception
* 例外
*/
public static Date getFormatDate(String dateInfo, String stringFormat) throws Exception {
if (isNullOrEmpty(stringFormat)) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(stringFormat);
Date formated = sdf.parse(dateInfo);
return formated;
}
/**
* 根据年月日生成Calendar对象
*
* @param year
* 年
* @param month
* 月
* @param day
* 日
* @return Calendar对象
*/
public static Calendar createCalendar(int year, int month, int day) {
Calendar cal = Calendar.getInstance();
if (year
year = 2000 + year;
}
cal.set(year, month - 1, day);
return cal;
}
/**
* 根据日期生成Calendar对象
*
* @param date
* 日期
* @return Calendar对象
*/
public static Calendar createCalendar(int date) {
int year = date / 1000;
int month = (date % 10000) / 100;
int day = date % 100;
Calendar cal = Calendar.getInstance();
cal.set(year, month - 1, day);
return cal;
}
/**
* 返回年份
*
* @return 年份
* @throws Exception
* 例外
*/
public static Integer getNowYear() throws Exception {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
return year;
}
/**
* 返回月份
*
* @return 月份
* @throws Exception
* 例外
*/
public static Integer getNowMonth() throws Exception {
Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH) + 1;
return month;
}
/**
* 返回当前日期
*
* @return 日期
*/
public static Integer getNowDay() {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_MONTH);
return day;
}
/**
* 返回某月份的第一天
*
* @param year
* 年
* @param month
* 月
* @return 某月份的第一天
*/
public static Integer getFirstDayOfMonth(int year, int month) {
Calendar cal = createCalendar(year, month, 1);
int day = cal.get(Calendar.DAY_OF_MONTH);
return day;
}
/**
* 返回某月份的最后一天
*
* @param year
* 年
* @param month
* 月
* @return 某月份的最后一天
*/
public static Integer getLastDayOfMonth(int year, int month) {
Calendar cal = createCalendar(year, month, 1);
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
return lastDay;
}
/**
* 计算两个日期之间相差的天数
*
* @param startDate
* 开始日期
* @param endDate
* 结束日期
* @return 两个日期之间相差的天数
*/
public static Integer daysBetweenData(Integer startDate, Integer endDate) {
if(startDate == null || endDate == null){
return null;
}
Calendar startCal = createCalendar(startDate);
Calendar endCal = createCalendar(endDate);
Calendar cal = null;
if (startCal.before(endCal)) {
cal = startCal;
startCal = endCal;
endCal = cal;
}
Long lg = (startCal.getTimeInMillis() - endCal.getTimeInMillis()) / 1000 / 60 / 60 / 24;
return lg.intValue();
}
/**
* 判断是否为闰年
*
* @param obj
* 输入年份
* @return 是否为闰年
* @throws Exception
* 例外
*/
public static boolean isLeapYear(T obj) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Calendar calendar = Calendar.getInstance();
int year = 0;
if (obj instanceof String) {
Date dateInfo = sdf.parse((String) obj);
calendar.setTime(dateInfo);
year = calendar.get(Calendar.YEAR);
} else if (obj instanceof Date) {
calendar.setTime((Date) obj);
year = calendar.get(Calendar.YEAR);
}else{
return false;
}
if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
System.out.println("是闰年");
return true;
}
System.out.println("不是闰年");
return false;
}
/**
*
*
* @param stringFormat
* @return
*/
public static boolean isNullOrEmpty(String stringFormat) {
return (stringFormat == null || stringFormat.length() == 0) ? true : false;
}
public static void main(String[] args) throws Exception {
String dateInfo = "2014/12/12";
Calendar cal = Calendar.getInstance();
cal.setTime(new SimpleDateFormat("yyyy/MM/dd").parse(dateInfo));
// isLeapYear(cal.getTime());
System.out.println(getNowDay());
System.out.println(getFirstDayOfMonth(2014, 12));
System.out.println(getLastDayOfMonth(2014, 9));
// System.out.println(getStringDate(new Date(), "yyyy/MM/dd HH:mm:ss"));
System.out.println(daysBetweenData(20140303, 20140304));
}
}
java 日期的工具类_java 日期时间工具类相关推荐
- java时间日期工具类_java日期处理工具类
java日期处理工具类 import java.text.DecimalFormat; import java.text.ParsePosition; import java.text.SimpleD ...
- java date只保留年月日_Java日期时间API系列14-----Jdk8中日期API类,日期计算1,获取年月日时分秒等...
通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...
- java date加一天_Java日期时间API系列15-----Jdk8中API类,java日期计算2,年月日时分秒的加减等...
通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...
- java 处理时间的类_java 日期时间处理类
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.util.Calendar; import java.sql.Da ...
- java 时间类_Java日期和时间类简介
Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类 ...
- java 日期计算类_java日期计算工具类【包含常用的日期计算方法】
package com.test; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Cal ...
- java中椭圆类_Java中的Graphics2D类基本使用的教程
Java中的Graphics2D类基本使用的教程 Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能 ...
- java源程序可以有几个主类_Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。_学小易找答案...
[填空题]分析以下程序的执行结果 #include using namespace std; class Sample { int x; int y; public: Sample(int a,int ...
- java 面试什么是类_Java 面试题代码类收集
long temp=(int)3.9; System.out.println(temp); temp%=2; System.out.println(temp); 3 1 View Code Java里 ...
- java中的祖先类_Java程序公共祖先类-Object
在Java中,所有的类都继承自Object类,它是所有的始祖,但是我们不需要显示的书写extends Object. equals方法 在JDK中,Object类的equals方法的实现如下: pub ...
最新文章
- Java Web项目第二次总结
- jforum中对各种servlet对象都进行了封装
- 收藏 | 一文总结70篇论文,帮你透彻理解神经网络的剪枝算法
- C#通过COM组件操作IE浏览器(二):使用IHTMLDocument3完成登录
- java代码快速_java代码编写快捷途经
- MongoDB 4.2 新特性解读
- sass webpack_如何在Visual Studio和Webpack中编译Sass文件
- java 使用不同目录下的类_如何运行在不同目录下的java类文件? - Break易站
- 2022危险化学品生产单位安全生产管理人员考试题库及在线模拟考试
- 微博视频php解析,微博视频的地址解析下载
- 华为交换机作为AC的条件
- 三维图看法亲身经验.
- 手机java淘汰_极客修:对手并不止安卓!这些年iOS竟然把这么多手机系统淘汰掉了...
- 闵帆老师《论文写作》心得体会
- 在不同的环境中编译hello world程序
- ie默认连接首页没修改
- jk触发器改为四进制_数字电路学习笔记(十):更多锁存器和触发器
- 计算机网络与多媒体试卷,《计算机网络与多媒体技术》试卷
- Cisco(20)——扩展ACL
- 下拉多选checkbox
热门文章
- vs2022 无法打开包括文件: “crtdbg.h” no such file or directory
- wprintf显示中文
- Win10解决无法访问其他机器共享的问题
- qt android meta data,Qt小技巧5.解决Failed to extract plugin meta data问题
- java注销登录_java实现注销登录
- linux富文本软件,CherryTree For Linux
- 二叉排序树的中序遍历规律_看懂这篇文章,玩转二叉查找树
- vim特殊符号的意义
- Notebook中?的trick
- 机器学习中的高斯过程简介-好文