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技术,设计与实现了一个水果销售管理系统,目的是提升销售效率和顾客购买体验。该系统以SpringBoot为核心框架,采用MVC设计模式,并通过JSP前端技术实现,构建了一个高性能、易维护的B/S架构网络平台。通过利用SpringBoot框架,本系统简化了后端开发流程,加强了安全性和可维护性;同时,应用MVC模式实现前后端分离,提高了系统响应速度和交互性。 系统的主要用户分为管理员和普通用户,涵盖了水果类目管理、用户管理、商品管理、订单管理等关键功能。普通用户能够便捷地浏览水果商品、进行购买和在线支付,同时可以查看订单状态和历史记录,而管理员则负责水果商品信息更新、订单处理、用户管理等后台操作任务。
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot+Mysql的水果销售系统(前台+后台) (2000个子文件)
00001d49994a28f5f4654031ce280e6b9a2ea8 850B
00052c04c6ad57de5b772f127a176936e46baa 912B
0050c2973dbdee1c3ba0e25f1abf05383d07cd 156KB
008866ba56c4a4715a3f883ccb3be941031206 983B
009ba5ff444d56855baf2ece36119bc3f62153 138KB
00c7fdb3a9724e8166ae619e77283ef8103239 89B
01105ad0afd83266a71732cc5ffea1379977c7 565B
019b099d96b382a549fa383bd81315cd6d295c 761B
01eb090222904da35f9d22940259b4d06efcac 528B
025b26937d47a2d5d03de5e589d75b43893bc9 5KB
02a1b1a4a8df61ed5aae14ba66d081395a2b7d 19KB
02c360af9b25d8937540007dfed327fde37855 4KB
02e540a3b1c3a549bd2f7a7a9a81451627964e 204B
03461b653373f7cda3b4af104c6bca07f9892b 998B
0391571f9f6b70218118db8150e10e6123ba19 2KB
0397720bf64632d7021749391a4f49a2396efa 771B
03a93a1855a88284c464c03db8dd6c261ea86f 2KB
03bf4313ccb8ab9c6b79c36eeff5cdbbc775f8 225B
03f0f3ccc67ba520184c93c9442814b133526f 179B
043e39ef822de5b80117d07f56cb93b1efe64b 1KB
047c7609dd612e81f0518494d8a22496eb1a6b 886B
0553c07409fce4efbc979a4985aa2eb6cf9de7 1KB
05ac9ac8a6291023ff100261939ee39af3723b 475B
05c79cb000f32b4410ac9c8acd05ce53b539fd 244B
05f5f47fd89a793e6bca2c2f62a0bfd9dae7c4 2KB
060e371221a70c0a758d9652d6e9bec00b63eb 3KB
0668deb66d90257e8a28a059ebdad38a9820c5 1KB
068b5b00a28d3793f420780a88755a1228582a 15KB
068f41d121d3c77697e3b3001c007c22b700ab 82B
06d382d2d7d3895edf9548fda752c9dc9a2c84 122KB
06d58a296cbd600b9d471dae6cdef09f8878d0 483B
077bc044694885f66cdf1b8757e00c18165857 130.08MB
07a5aa3c589cb8a3209dd6da071b888925e47c 365KB
07b9c013ac392a78abcd4e332b7f7143994411 813KB
07ddb244df2bc3589ad8b310ee290bdc121f04 782B
0812243bb5358752d1c148de72ab4dfda98d51 930B
0835f69c96c17ec32a20b03ac9753aa59b7f4f 201B
08820eebc6927a5d13af90e79d8404a64ec3f0 117B
090903e23211d244b8821d8567d3942274bd2e 56KB
098d1004e7fc27d9a57538671c58f2a0e3dc82 419B
098f3387245fc1374671ba1f880b19b3783b33 164B
09b39b3a230f2a9f23d7834a5c143ebbe01fd7 2KB
09ca34d06d5a69f95a4f8ecd8be5e10ccca627 612B
09e1f94e3869ca31ec59d84821a2dbb1a16ea2 682B
0aa44fdba6f14b1871d6aaa5b9e56e9ed9d44c 467B
0b27b982bd4373a6e32434db80affd0ae6f195 4KB
0bdd859f0c3a6dd95cede82a21c1e9665a4298 2KB
0bf0c9e7315a2654075a87ca157a51c0b429cf 483B
0bf20d262f5aff41f867da9dad6e7a2ca1e65c 765B
0bf6885220f096272665060d1a090739cd913d 7KB
0c4ad685b8c0068ecb7e3cbef74f493a84ad0d 189B
0c5c9de33a431d1c8e50cd12da74505921ad7e 598B
0c7fe642501bf41284efbbc97ee2bfecae5b89 183B
0c9e84ee5642b1043c54dd181945ab287dc129 94KB
0cf3bdc3658627e3505792e7fdf0ffba5e3d74 265B
0d0d8deaad58bc49cd514743e865950559840d 761B
0d4d26d0139d5ef94442ea23813f8ea75fa4a7 2KB
0d62e2fa5ce390670aa6aba98ab495c661708a 3KB
0d6c890d1dfb2a8802d257fde1e008222d4aa2 337B
0da6cde6e4b4f012c57020bfa67eb331e7d675 4KB
0e0a6d90970a88c017a101bec960ea69ea73d8 56B
0e438c5d5ed00e7082929e61a0d9d162daf473 3KB
0e646ce7188b1f874a15354dfc9b6790ac4bfb 132KB
0ec7b3836a137d58a901d0746972d0cafdd24b 210KB
0f282cfcb15440fb578229279a8a5343042a63 292KB
0f9fe1a7c7cdf5264d4b8b6b82c9dc4b64fb78 1.03MB
0fb8dedbe68d2a0d1385817366d3758b616801 1KB
1043a3d9c2b2dd2f2332ac7af4f9a128c1f85a 6KB
105d9087447bb69271d70e1276f8c340e9ca23 659B
1083eb9f7adba9e1de3b629955ff3c22e8e4e8 517B
110673c5a90d68599b7117177b970010d6ce3e 447B
110e548c64c92ab4512aa19af9fc9a36e19f96 56B
11752feab0459ce5280e35e9fa1d3f93f4257c 85B
117bd8624f2f55680fdac18c62f47b995bbc71 242B
11fa9ada9e93505b3d736acb204083f45d5fbf 53B
122eedb3e15e087b4a7b3c4a082e0e7696dbc9 56KB
1257962d71e45782f311feebd272c01e6a2d4d 27KB
12aea866315148b8287547aa5e8d5586de8bfa 229KB
12d9a4d8b89561d30e89192f2949afa5c02a2f 275B
131c056b21890c671d4b633c7d95cbb3f0069f 109B
135b7f27c6c4eb90c1ef8a722cfba6e7429ad4 58KB
142b1f30a12f0f9397af1bd54b5e272139f95d 3KB
14d659e159cbc7d35343b79492d0bfb7f6b9a4 43KB
14ee60316cc2e8adae1a05a0d80d1645d56ae1 249B
1526e0d5e6eb5c30eb0a62c9b1d6d558ed9cdf 739B
152c1bec633ea419457ef13ba4835e7b608241 7KB
1545258e07ce4af9605d5b976ae0ab65c940ca 18KB
1556d5d8a27e51923918f6a7618ffe8fa26ab1 150B
157815f1a98456483a6c46a8b21b097c40fbb0 315B
15815d234ea15c9558643a518c1e279a3ab495 408B
15968286ecaf26c3c36e7f07ecf45128435a3b 48KB
15a028a5ada42236a1f58f5ad539e2f0107303 66KB
15e3aac9a84ebad11b932e84722124772d9641 19KB
1608dfc4946be492e91867b02feffa3666a859 515B
163757d285c2282fb878454a8e78d0154499b5 304B
16386526aaa7afab86bfe1edd47609d2cb7b5b 304B
16418255b2a2ce286a1df6285b3aa5cb34e0d3 2KB
16cc8916e94f89944fe3c111f185245d9fd819 2KB
16ff9742bf6776696c2e9d5e303e79f976af9a 64KB
17da8b1aaae2935e19ac97d9015f0fe24e8770 11KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
VIT19980106
- 粉丝: 67
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java的本科探索学习项目设计源码 - 本科探索
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功