package com.javapandeng.utils;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* 日期格式化类
*/
public class DateUtil extends java.util.Date {
private static final long serialVersionUID = 1L;
private static final DateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
private static final String strFormat1 = "yyyy-MM-dd HH:mm";
/**
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800
*/
/**
* 构造函数
*/
public DateUtil() {
super(getSystemDate().getTime().getTime());
}
/**
* 当前时间
*
* @return 时间Timestamp
*/
public java.sql.Timestamp parseTime() {
return new java.sql.Timestamp(this.getTime());
}
/**
* 将Date类型转换为字符串 yyyy-MM-dd HH:mm:ss
*
* @param Date
* @return String
*/
public static String format(Date date) {
return format(date, null);
}
/**
* 将Date类型转换为字符串
*
* @param Date
* @param pattern 字符串格式
* @return String
*/
public static String format(Date date, String pattern) {
if (date == null) {
return "";
} else if (pattern == null || pattern.equals("") || pattern.equals("null")) {
return datetimeFormat.format(date);
} else {
return new SimpleDateFormat(pattern).format(date);
}
}
/**
* 将Date类型转换为字符串 yyyy-MM-dd
*
* @param Date
* @return String
*/
public static String formatDate(Date date) {
if (date == null) {
return "";
}
return dateFormat.format(date);
}
/**
* 将字符串转换为Date类型
*
* @param sDate yyyy-MM-dd HH:mm:ss
* @return
*/
public static Date convert(String sDate) {
try {
if (sDate != null) {
if (sDate.length() == 10) {
return dateFormat.parse(sDate);
} else if (sDate.length() == 19) {
return datetimeFormat.parse(sDate);
}
}
} catch (ParseException pe) {
}
return convert(sDate, null);
}
/**
* 将字符串转换为Date类型
*
* @param sDate
* @param pattern 格式
* @return
*/
public static Date convert(String sDate, String pattern) {
Date date = null;
try {
if (sDate == null || sDate.equals("") || sDate.equals("null")) {
return null;
} else if (pattern == null || pattern.equals("") || pattern.equals("null")) {
return datetimeFormat.parse(sDate);
} else {
return new SimpleDateFormat(pattern).parse(sDate);
}
} catch (ParseException pe) {
}
return date;
}
/**
* String转换为Date
*
* @param sDate 日期"yyyy-MM-dd"
* @return 日期Date
*/
public static Date convertDate(String dateStr) {
return convert(dateStr, "yyyy-MM-dd");
}
/**
* String转换为Timestamp
*
* @param sDate 日期 "yyyy-MM-dd" / "yyyy-MM-dd HH:mm:ss"
* @return 日期Timestamp
*/
public static Timestamp convertTimestamp(String sDate) {
if (sDate.length() == 10) {
sDate = sDate + " 00:00:00";
}
if (sDate.length() == 16) {
sDate = sDate + ":00";
}
return Timestamp.valueOf(sDate);
}
/**
* Date转换为Timestamp
*/
public static Timestamp convert(Date date) {
return new Timestamp(date.getTime());
}
/**
* 取当前日期(yyyy-mm-dd)
*
* @return 时间Timestamp
*/
public static String getTodayDate() {
return formatDate(new Date());
}
/**
* 取当前日期(yyyy-mm-dd hh:mm:ss)
*
* @return 时间Timestamp
*/
public static String getTodayDateTime() {
return format(new Date());
}
/**
* 取得n分钟后的时间
*
* @param date 日期
* @param afterMins
* @return 时间Timestamp
*/
public static Date getAfterMinute(Date date, long afterMins) {
if (date == null)
date = new Date();
long longTime = date.getTime() + afterMins * 60 * 1000;
return new Date(longTime);
}
/**
* add by yinshengming start 2016-4-7
* 取得n秒后的时间
*
* @param date 日期
* @param afterMins
* @return 时间Timestamp
*/
public static Date getAfterSecond(Date date, long afterMins) {
if (date == null)
date = new Date();
long longTime = date.getTime() + afterMins * 1000;
return new Date(longTime);
}
// public static void main(String[] arg) {
// System.err.println(format((new Date())));
// System.err.println(format(getAfterMinute(new Date(), 3)));
// }
/**
* 取得指定日期几天后的日期
*
* @param date 日期
* @param afterDays 天数
* @return 日期
*/
public static Date getAfterDay(Date date, int afterDays) {
if (date == null)
date = new Date();
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(java.util.Calendar.DATE, afterDays);
return cal.getTime();
}
/**
* 取得指定日期几天后的日期
*
* @param sDate 日期 yyyy-MM-dd
* @param afterDays 天数
* @return 日期
*/
public static String getAfterDay(String sDate, int afterDays) {
Date date = convertDate(sDate);
date = getAfterDay(date, afterDays);
return formatDate(date);
}
/**
* 取得指定日期几天前的日期
*
* @param date 日期
* @param beforeDays 天数(大于0)
* @return 日期
*/
public static Date getBeforeDay(Date date, int beforeDays) {
if (date == null)
date = new Date();
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(java.util.Calendar.DATE, 0 - Math.abs(beforeDays));
return cal.getTime();
}
/**
* 取得指定日期几天前的日期
*
* @param sDate 日期 yyyy-MM-dd
* @param beforeDays 天数(大于0)
* @return 日期
*/
public static String getBeforeDay(String sDate, int beforeDays) {
Date date = convertDate(sDate);
date = getBeforeDay(date, beforeDays);
return formatDate(date);
}
/**
* 获得几个月后的日期
*
* @param date 日期
* @param afterMonth 月数
* @return 日期Date
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于java+SSM水果蔬菜农产品购物商城的设计与实现 毕业设计源码+数据库+使用文档+全部资料(高分优秀项目).zip基于java+SSM水果蔬菜农产品购物商城的设计与实现 毕业设计源码+数据库+使用文档+全部资料(高分优秀项目).zip基于java+SSM水果蔬菜农产品购物商城的设计与实现 毕业设计源码+数据库+使用文档+全部资料(高分优秀项目).zip 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过mac/window10/11测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于java+SSM水果蔬菜农产品购物商城的设计与实现 毕业设计源码+数据库+使用文档+全部资料(高分优秀项目).zip (1575个子文件)
46e1e9a01dfe11e99354e3b6b20f9f59 0B
46ed0d301dfe11e99354e3b6b20f9f59 0B
46ed34401dfe11e99354e3b6b20f9f59 0B
46f523801dfe11e99354e3b6b20f9f59 0B
46f523811dfe11e99354e3b6b20f9f59 0B
46f8a5f01dfe11e99354e3b6b20f9f59 0B
93bf22802c2111e865b6dc2da7582a7a 0B
93bf49902c2111e865b6dc2da7582a7a 0B
93bf49912c2111e865b6dc2da7582a7a 0B
93bf49922c2111e865b6dc2da7582a7a 0B
93bf70a02c2111e865b6dc2da7582a7a 0B
style.css.bak 17KB
c6c1c5b01dfd11e99354e3b6b20f9f59 0B
c6c45dc01dfd11e99354e3b6b20f9f59 0B
c6ca2a201dfd11e99354e3b6b20f9f59 0B
c6ca78401dfd11e99354e3b6b20f9f59 0B
c6cac6601dfd11e99354e3b6b20f9f59 0B
c6cc74101dfd11e99354e3b6b20f9f59 0B
.classpath 903B
org.eclipse.wst.common.component 590B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 143KB
bootstrap.min.css 118KB
pintuer.css 111KB
easyui.css 59KB
easyui.css 58KB
easyui.css 58KB
easyui2.css 58KB
easyui.css 58KB
easyui.css 56KB
easyui.css 55KB
jquery.mCustomScrollbar.css 52KB
ueditor.css 44KB
common.css 44KB
jquery.mCustomScrollbar.min.css 42KB
ueditor.min.css 34KB
uc.css 26KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
video-js.css 21KB
_all.css 21KB
image.css 19KB
style.css 17KB
video.css 15KB
_all.css 15KB
attachment.css 15KB
_all.css 15KB
common.css 13KB
style.css 13KB
_all.css 13KB
layer.css 12KB
video-js.min.css 11KB
goods-detail.css 11KB
sxtc.css 11KB
mylessons.css 11KB
tabs.css 9KB
tabs.css 9KB
tabs.css 9KB
tabs.css 9KB
home.css 9KB
cart.css 8KB
search-goods.css 7KB
tabs.css 7KB
tabs.css 7KB
shCoreDefault.css 7KB
mobile.css 7KB
dq.css 7KB
color.css 6KB
laydate.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 5KB
datagrid.css 5KB
style.css 5KB
admin_login.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
login.css 4KB
admin.css 4KB
calendar.css 4KB
calendar.css 4KB
login.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
scrawl.css 4KB
layer.css 4KB
laydate.css 3KB
linkbutton.css 3KB
laydate.css 3KB
tree.css 3KB
tree.css 3KB
laydate.css 3KB
tree.css 3KB
共 1575 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
资源评论
- qq228856330082024-09-29资源很好用,有较大的参考价值,资源不错,支持一下。
不走小道
- 粉丝: 3343
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用 YOLOv5 和 TensorRT 进行实时物体检测.zip
- xiuno(修罗)知乎模板二开优化魔板仿网盘资源社–模板加全套插件
- 基于Spring Boot的防疫物资管理信息系统构建
- 使用 yolov5 和 realsense D435i.zip
- 点餐外卖餐饮小程序系统源码前端+后端(高分项目)
- chat4-qt_single_leveling.zip
- 使用 YOLOv4、DeepSort 和 TensorFlow 实现的对象跟踪 .zip
- JDK1.8.0-73下载
- 1999-2023年上市公司微观企业劳动力生产率数据/员工劳动生产率(含原始数据+计算代码+计算结果)(两种测算方式)
- 使用 YOLOV4 作为 MCMOT 的检测器 .zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功