DataUtils
package com.cc.hkjc.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
/**
* 日期时间工具类
*
*
*/
public class DataUtils {
private static final SimpleDateFormat datetimeFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
private static final SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd");
private static final SimpleDateFormat timeFormat = new SimpleDateFormat(
"HH:mm:ss");
/**
* 获得当前日期时间
* <p>
* 日期时间格式yyyy-MM-dd HH:mm:ss
*
* @return
*/
public static String currentDatetime() {
return datetimeFormat.format(now());
}
/**
* 格式化日期时间
* <p>
* 日期时间格式yyyy-MM-dd HH:mm:ss
*
* @return
*/
public static String formatDatetime(Date date) {
return datetimeFormat.format(date);
}
/**
* 格式化日期时间
*
* @param date
* @param pattern
* 格式化模式,详见{@link SimpleDateFormat}构造器
* <code>SimpleDateFormat(String pattern)</code>
* @return
*/
public static String formatDatetime(Date date, String pattern) {
SimpleDateFormat customFormat = (SimpleDateFormat) datetimeFormat
.clone();
customFormat.applyPattern(pattern);
return customFormat.format(date);
}
/**
* 获得当前日期
* <p>
* 日期格式yyyy-MM-dd
*
* @return
*/
public static String currentDate() {
return dateFormat.format(now());
}
/**
* 格式化日期
* <p>
* 日期格式yyyy-MM-dd
*
* @return
*/
public static String formatDate(Date date) {
return dateFormat.format(date);
}
/**
* 获得当前时间
* <p>
* 时间格式HH:mm:ss
*
* @return
*/
public static String currentTime() {
return timeFormat.format(now());
}
/**
* 格式化时间
* <p>
* 时间格式HH:mm:ss
*
* @return
*/
public static String formatTime(Date date) {
return timeFormat.format(date);
}
/**
* 获得当前时间的<code>java.util.Date</code>对象
*
* @return
*/
public static Date now() {
return new Date();
}
public static Calendar calendar() {
Calendar cal = GregorianCalendar.getInstance(Locale.CHINESE);
cal.setFirstDayOfWeek(Calendar.MONDAY);
return cal;
}
/**
* 获得当前时间的毫秒数
* <p>
* 详见{@link System#currentTimeMillis()}
*
* @return
*/
public static long millis() {
return System.currentTimeMillis();
}
/**
*
* 获得当前Chinese月份
*
* @return
*/
public static int month() {
return calendar().get(Calendar.MONTH) + 1;
}
/**
* 获得月份中的第几天
*
* @return
*/
public static int dayOfMonth() {
return calendar().get(Calendar.DAY_OF_MONTH);
}
/**
* 今天是星期的第几天
*
* @return
*/
public static int dayOfWeek() {
return calendar().get(Calendar.DAY_OF_WEEK);
}
/**
* 今天是年中的第几天
*
* @return
*/
public static int dayOfYear() {
return calendar().get(Calendar.DAY_OF_YEAR);
}
/**
*判断原日期是否在目标日期之前
*
* @param src
* @param dst
* @return
*/
public static boolean isBefore(Date src, Date dst) {
return src.before(dst);
}
/**
*判断原日期是否在目标日期之后
*
* @param src
* @param dst
* @return
*/
public static boolean isAfter(Date src, Date dst) {
return src.after(dst);
}
/**
*判断两日期是否相同
*
* @param date1
* @param date2
* @return
*/
public static boolean isEqual(Date date1, Date date2) {
return date1.compareTo(date2) == 0;
}
/**
* 判断某个日期是否在某个日期范围
*
* @param beginDate
* 日期范围开始
* @param endDate
* 日期范围结束
* @param src
* 需要判断的日期
* @return
*/
public static boolean between(Date beginDate, Date endDate, Date src) {
return beginDate.before(src) && endDate.after(src);
}
/**
* 获得当前月的最后一天
* <p>
* HH:mm:ss为0,毫秒为999
*
* @return
*/
public static Date lastDayOfMonth() {
Calendar cal = calendar();
cal.set(Calendar.DAY_OF_MONTH, 0); // M月置零
cal.set(Calendar.HOUR_OF_DAY, 0);// H置零
cal.set(Calendar.MINUTE, 0);// m置零
cal.set(Calendar.SECOND, 0);// s置零
cal.set(Calendar.MILLISECOND, 0);// S置零
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);// 月份+1
cal.set(Calendar.MILLISECOND, -1);// 毫秒-1
return cal.getTime();
}
/**
* 获得当前月的第一天
* <p>
* HH:mm:ss SS为零
*
* @return
*/
public static Date firstDayOfMonth() {
Calendar cal = calendar();
cal.set(Calendar.DAY_OF_MONTH, 1); // M月置1
cal.set(Calendar.HOUR_OF_DAY, 0);// H置零
cal.set(Calendar.MINUTE, 0);// m置零
cal.set(Calendar.SECOND, 0);// s置零
cal.set(Calendar.MILLISECOND, 0);// S置零
return cal.getTime();
}
private static Date weekDay(int week) {
Calendar cal = calendar();
cal.set(Calendar.DAY_OF_WEEK, week);
return cal.getTime();
}
/**
* 获得周五日期
* <p>
* 注:日历工厂方法{@link #calendar()}设置类每个星期的第一天为Monday,US等每星期第一天为sunday
*
* @return
*/
public static Date friday() {
return weekDay(Calendar.FRIDAY);
}
/**
* 获得周六日期
* <p>
* 注:日历工厂方法{@link #calendar()}设置类每个星期的第一天为Monday,US等每星期第一天为sunday
*
* @return
*/
public static Date saturday() {
return weekDay(Calendar.SATURDAY);
}
/**
* 获得周日日期
* <p>
* 注:日历工厂方法{@link #calendar()}设置类每个星期的第一天为Monday,US等每星期第一天为sunday
*
* @return
*/
public static Date sunday() {
return weekDay(Calendar.SUNDAY);
}
/**
* 将字符串日期时间转换成java.util.Date类型
* <p>
* 日期时间格式yyyy-MM-dd HH:mm:ss
*
* @param datetime
* @return
*/
public static Date parseDatetime(String datetime) throws ParseException {
return datetimeFormat.parse(datetime);
}
/**
* 将字符串日期转换成java.util.Date类型
*<p>
* 日期时间格式yyyy-MM-dd
*
* @param date
* @return
* @throws ParseException
*/
public static Date parseDate(String date) throws ParseException {
return dateFormat.parse(date);
}
/**
* 将字符串日期转换成java.util.Date类型
*<p>
* 时间格式 HH:mm:ss
*
* @param time
* @return
* @throws ParseException
*/
public static Date parseTime(String time) throws ParseException {
return timeFormat.parse(time);
}
/**
* 根据自定义pattern将字符串日期转换成java.util.Date类型
*
* @param datetime
* @param pattern
* @return
* @throws ParseException
*/
public static Date parseDatetime(String datetime, String pattern)
throws ParseException {
SimpleDateFormat format = (SimpleDateFormat) datetimeFormat.clone();
format.applyPattern(pattern);
return format.parse(datetime);
}
}
DataUtils的更多相关文章
- DataUtils对Connection的获取、释放和关闭的操作学习
DataSourceUitls介绍 DataSourceUitls类位于org.springframework.jdbc.datasource包下,提供了很多的静态方法去从一个javax.sql.Da ...
- JAVA FreeMarker工具类
FreeMarkerUtil.java package pers.kangxu.datautils.utils; import java.io.File; import java.io.StringW ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
- JAVA 日期格式工具类DateUtil.java
DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...
- JAVA 读写Excel
ExcelUtil.java package pers.kangxu.datautils.utils; import java.io.File; import java.io.FileInputStr ...
- app端上传文件至服务器后台,web端上传文件存储到服务器
1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...
- 【Java EE 学习 70 上】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】
一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需 ...
- Coursera-Getting and Cleaning Data-Week2-课程笔记
Coursera-Getting and Cleaning Data-Week2 Saturday, January 17, 2015 课程概述 week2主要是介绍从各个来源读取数据.包括MySql ...
- 关于Java中基本类型的长度相关基础知识
1. 用HeapByteBuffer放int占几个byte? 占4个.而且不论你是放1还是-1还是0xffff. 因为int的长度是4个byte,HeapByteBuffer的存储又是byte数组. ...
随机推荐
- Mysql安装及自动化部署脚本方案
一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...
- HDU 1358字符串循环节问题 ,next数组
求字符串循环节,要求每前i个字符串前缀是否循环,有的话打印出来. 我对j=next[i]数组(未优化,从0开始,第一个为-1,)理解:字符s[i]的前面的字符串,最长的相同的前缀和后缀 的长度,因此, ...
- LINUX下面NetworkManager和network冲突的问题
https://blog.csdn.net/ID_EAGLE/article/details/74085409
- 关于FileZilla Server的安装问题
网上很多FileZilla Server教程到最后一步在本机上测试访问成功就没了,实际上还是不完整的,一般情况下外网还是访问不了,外网访问同样很重要. 可能有点童鞋会说安装的时候防火墙提示的时候我也点 ...
- java 常用的解析工具
这里介绍两种 java 解析工具. 第一种:java 解析 html 工具 jsoup 第二种: java 解析 XML 工具 Dom4j jsoup jsoup是一个用于处理真实HTML的Java库 ...
- 感受lambda之美,推荐收藏,需要时查阅
一.引言二.java重要的函数式接口1.什么是函数式接口1.1 java8自带的常用函数式接口.1.2 惰性求值与及早求值2.常用的流2.1 collect(Collectors.toList())2 ...
- 在springboot项目中获取pom.xml中的信息
最近做了一个新项目,用到了springboot.在搭建框架的过程中,需要读取pom.xml中version的值,本来想着是用自己用java解析xml来着.没想到maven提供了这么一个包,可以直接获取 ...
- Java中String字符串toString()、String.valueOf()、String强转、+ ""的区别
Object#toString(): Object object = getObject(); System.out.println(object.toString()); 在这种使用方法中,因为ja ...
- PS 如何使用液化工具给人物减肥
进入"液化", 有个收缩按钮, 可以选择范围大小, 想瘦哪里, 瘦多少都OK 最终效果图 1.打开原图,进入通道面板,选择菜单图像计算,计算红色通道,保留人物见图. ...
- firebug console说明
控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 一.显示信息的命令 Firebug内置一个console对象,提供5种方法,用来显示 ...