package com.xxu.utils;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 日期时间类
*
* <p>对Calendar的封装,以便于使用</p>
*
* @author qsyang
* @version 1.0
*/
public class DateTime implements Serializable {
/**
* yyyy-MM-dd HH:mm:ss 格式
*/
public static final String DEFAULT_DATE_TIME_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* yyyy-MM-dd HH:mm 格式
*/
public static final String DEFAULT_DATE_TIME_HHmm_FORMAT_PATTERN = "yyyy-MM-dd HH:mm";
/**
* yyyy-MM-dd HH 格式
*/
public static final String DEFAULT_DATE_TIME_HH_FORMAT_PATTERN = "yyyy-MM-dd HH";
/**
* yyyy-MM-dd 格式
*/
public static final String DEFAULT_DATE_FORMAT_PATTERN = "yyyy-MM-dd";
/**
* HH:mm:ss 格式
*/
public static final String DEFAULT_TIME_FORMAT_PATTERN = "HH:mm:ss";
/**
* HH:mm 格式
*/
public static final String DEFAULT_TIME_HHmm_FORMAT_PATTERN = "HH:mm";
/**
* 年
* <p>可以通过DateTime.now().get(DateTime.YEAR_FIELD)来获取当前时间的年</p>
*/
public static final int YEAR_FIELD = java.util.Calendar.YEAR;
/**
* 月
* <p>可以通过DateTime.now().get(DateTime.MONTH_FIELD)来获取当前时间的月</p>
*/
public static final int MONTH_FIELD = java.util.Calendar.MONTH;
/**
* 日
* <p>可以通过DateTime.now().get(DateTime.DAY_FIELD)来获取当前时间的日</p>
*/
public static final int DAY_FIELD = java.util.Calendar.DATE;
/**
* 小时 <p>可以通过DateTime.now().get(DateTime.HOUR_FIELD)来获取当前时间的小时</p>
*/
public static final int HOUR_FIELD = java.util.Calendar.HOUR_OF_DAY;
/**
* 分钟 <p>可以通过DateTime.now().get(DateTime.MINUTE_FIELD)来获取当前时间的分钟</p>
*/
public static final int MINUTE_FIELD = java.util.Calendar.MINUTE;
/**
* 秒
* <p>可以通过DateTime.now().get(DateTime.SECOND_FIELD)来获取当前时间的秒</p>
*/
public static final int SECOND_FIELD = java.util.Calendar.SECOND;
/**
* 毫秒 <p>可以通过DateTime.now().get(DateTime.MILLISECOND_FIELD)来获取当前时间的毫秒</p>
*/
public static final int MILLISECOND_FIELD = java.util.Calendar.MILLISECOND;
private java.util.Calendar c; //日历类
/**
* 获取一个DateTime,此DateTime尚未初始化,表示的时间是1970-1-1 00:00:00.000
* <p>要获取当前系统时间,请用DateTime.now();</p>
*/
public DateTime() {
c = Calendar.getInstance();
c.clear();
}
/**
* 设置时间 <p>可以传入一个时间对象,将会被转换为DateTime类型</p>
*
* @param date 时间对象
*/
public DateTime(java.util.Date date) {
c = Calendar.getInstance();
c.setTime(date);
}
/**
* 设置时间 <p>可以传入一个日历对象,将会被转换为DateTime类型</p>
*
* @param calendar 日历对象
*/
public DateTime(java.util.Calendar calendar) {
this.c = calendar;
}
/**
* 获取当前系统时间
*
* @return DateTime 当前系统时间
*/
public static DateTime now() {
Calendar calendar = Calendar.getInstance();
return new DateTime(calendar);
}
/**
* 用毫秒来设置时间, 时间的基数是1970-1-1 00:00:00.000; <p>比如,new DateTime(1000)
* 则表示1970-1-1 00:00:01.000;<br> 用负数表示基础时间以前的时间</p>
*
* @param milliseconds 毫秒
*/
public DateTime(long milliseconds) {
c = Calendar.getInstance();
c.setTimeInMillis(milliseconds);
}
/**
* 转换为Date类型
*
* @return Date时间
*/
public Date toDate() {
return c.getTime();
}
/**
* 转换成 日历对象
*
* @return Calendar对象
*/
public java.util.Calendar toCalendar() {
return c;
}
/**
* 转换成java.sql.Date(yyyy-MM-dd)日期
*
* @return java.sql.Date日期
*/
public java.sql.Date toSqlDate() {
return new java.sql.Date(c.getTimeInMillis());
}
/**
* 转换为java.sql.Time(hh:mm:ss)时间
*
* @return java.sql.Time时间
*/
public java.sql.Time toSqlTime() {
return new java.sql.Time(c.getTimeInMillis());
}
/**
* 转换为java.sql.Timestamp(时间戳)
*
* @return java.sql.Timestamp时间戳
*/
public java.sql.Timestamp toSqlTimestamp() {
return new java.sql.Timestamp(c.getTimeInMillis());
}
/**
* 解析时间 <p>根据DateTime中的DEFAULT_TIME_FORMAT_PATTERN规则转换为hh:mm:ss或hh:mm格式</p>
*
* @param time 字符串格式时间
* @return DateTime 日期时间对象
*/
public static DateTime parseTime(String time) throws java.text.ParseException {
try {
return DateTime.parseDateTime(time, DateTime.DEFAULT_TIME_FORMAT_PATTERN);
} catch (ParseException e) {
return DateTime.parseDateTime(time, DateTime.DEFAULT_TIME_HHmm_FORMAT_PATTERN);
}
}
/**
* 解析日期 <p>根据DateTime中的DEFAULT_DATE_FORMAT_PATTERN规则转换为yyyy-MM-dd格式</p>
*
* @param date 字符串格式日期
* @return DateTime 日期时间类
*/
public static DateTime parseDate(String date) throws java.text.ParseException {
return DateTime.parseDateTime(date, DateTime.DEFAULT_DATE_FORMAT_PATTERN);
}
/**
* 解析日期时间 <p>根据DateTime中的DEFAULT_DATE_TIME_FORMAT_PATTERN规则转换为yyyy-MM-dd
* HH:mm:ss格式</p>
*
* @param datetime 字符串格式日期时间
* @return DateTime 日期时间对象
*/
public static DateTime parseDateTime(String datetime) throws java.text.ParseException {
DateTime result = null;
//尝试按yyyy-MM-dd HH:mm:ss分析
try {
result = DateTime.parseDateTime(datetime, DateTime.DEFAULT_DATE_TIME_FORMAT_PATTERN);
} catch (ParseException e) {
//解析错误
result = null;
}
//尝试按yyyy-MM-dd HH:mm分析
if (null == result) {
try {
result = DateTime.parseDateTime(datetime, DateTime.DEFAULT_DATE_TIME_HHmm_FORMAT_PATTERN);
} catch (ParseException e) {
//解析错误
result = null;
}
}
//尝试按yyyy-MM-dd HH分析
if (null == result) {
try {
result = DateTime.parseDateTime(datetime, DateTime.DEFAULT_DATE_TIME_HH_FORMAT_PATTERN);
} catch (ParseException e) {
//解析错误
result = null;
}
}
//尝试按yyyy-MM-dd分析
if (null == result) {
try {
result = DateTime.parseDate(datetime);
} catch (ParseException e) {
//解析错误
result = null;
}
}
//尝试按时间分析
if (null == result) {
result = DateTime.parseTime(datetime);
}
return result;
}
/**
* 用指定的pattern分析字符串 <p>pattern的用法参见java.text.SimpleDateFormat</p>
*
* @param datetime 字符串格式日期时间
* @param pattern 日期解析规则
* @return DateTime 日期时间对象
* @see java.text.SimpleDateFormat
*/
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于jsp+servlet实现的旅游管理系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于jsp+servlet实现的旅游管理系统源码.zip (127个子文件)
.classpath 2KB
org.eclipse.wst.common.component 461B
org.eclipse.wst.jsdt.ui.superType.container 49B
login.css 3KB
list.css 3KB
add.css 2KB
subject.css 2KB
.gitignore 8B
.gitignore 6B
mysql-connector-java-5.1.39-bin.jar 966KB
c3p0-0.9.1.2.jar 596KB
commons-collections-3.2.2.jar 575KB
jstl-1.2.jar 405KB
commons-lang3-3.2.1.jar 376KB
commons-httpclient-3.1.jar 298KB
commons-lang-2.4.jar 256KB
commons-io-2.5.jar 204KB
commons-beanutils.jar 172KB
json-lib-2.3-jdk15.jar 153KB
ezmorph-1.0.6.jar 84KB
commons-dbutils-1.6.jar 76KB
commons-logging-1.2.jar 60KB
commons-fileupload-1.2.2.jar 58KB
jstl.jar 17KB
DateTime.java 17KB
ScenicSpotImpl.java 6KB
NewSSServlet.java 5KB
PersonsDaoImpl.java 5KB
CommentDaoImpl.java 4KB
HotelDaoImpl.java 4KB
NewSRServlet.java 4KB
NewSHServlet.java 4KB
RestaurantDaoImpl.java 4KB
ScenicSpotServiceImpl.java 4KB
AddServlet.java 3KB
LoginServlet.java 3KB
ListServlet.java 3KB
PersonsServiceImpl.java 3KB
DetailSSServlet.java 3KB
ScenicSpot.java 3KB
PersonCenterServlet.java 3KB
PageBean.java 2KB
DetailSRServlet.java 2KB
Comment.java 2KB
DetailSHServlet.java 2KB
Hotel.java 2KB
ForumServlet.java 2KB
Persons.java 2KB
LoginOutServlet.java 2KB
Restaurant.java 2KB
LoginCheckFilter.java 1KB
CommentServiceImpl.java 1KB
HotelServiceImpl.java 1KB
RestaurantServiceImpl.java 1KB
ScenicSpotDao.java 981B
PersonsDao.java 749B
RestaurantDao.java 742B
CommentDao.java 737B
ScenicSpotService.java 722B
HotelDao.java 700B
PersonsService.java 583B
JdbcUtils.java 414B
CommentService.java 400B
RestaurantService.java 272B
HotelService.java 245B
zhouzhuang01.jpeg 93KB
yangzhou01.jpeg 80KB
jiangsu02.jpeg 72KB
nanjing02.jpeg 72KB
jiangsu01.jpeg 68KB
zhongshan02.jpeg 67KB
suzhou02.jpeg 65KB
maoshan02.jpeg 60KB
yangzhou02.jpeg 60KB
changzhou01.jpeg 57KB
lingshan01.jpeg 52KB
changzhou02.jpeg 52KB
nanjing01.jpeg 47KB
lingshan02.jpeg 46KB
maoshan01.jpeg 35KB
zhongshan01.jpeg 35KB
zhouzhuang02.jpeg 33KB
taihu02.jpeg 11KB
002.jpg 1.41MB
003.jpg 508KB
timg.jpg 227KB
ym006.jpg 208KB
ym003.jpg 185KB
ym008.jpg 177KB
ym011.jpg 128KB
sjmsdg005.jpg 93KB
ym005.jpg 79KB
sjmsdg004.jpg 65KB
ym002.jpeg.jpg 57KB
ym004.jpg 48KB
ym001.jpg 37KB
001.jpg 35KB
ym010.jpg 29KB
ym009.jpg 27KB
2017雪佛兰科迈罗 LT.jpg 20KB
共 127 条
- 1
- 2
资源评论
土豆片片
- 粉丝: 1801
- 资源: 5647
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java语言的歌唱比赛评分系统设计源码
- 基于JavaEE技术的课程项目答辩源码设计——杨晔萌、李知林、岳圣杰、张俊范小组作品
- 基于Java原生安卓开发的蔚蓝档案娱乐应用设计源码
- 基于Java、Vue、JavaScript、CSS、HTML的毕设设计源码
- 基于Java和HTML的CMS看点咨询系统设计源码
- 基于Java语言的MyCache缓存系统设计源码实现教程
- 招聘信息:平面设计师(文创产品方向).pages
- vo_ai_name_blank_40.wav
- 基于HTML、JavaScript、CSS的楼盘系统移动端前端设计源码
- 基于Java及Vue框架的中职院校技能大赛教学能力比赛报名评审平台设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功