package com.mvc.rest.util;
import org.apache.commons.lang3.StringUtils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public final class CalendarUtil {
private static final TimeZone TIME_ZONE_GMT_8 = TimeZone.getTimeZone("GMT+08:00");
private static final long DEFAULT_MILLIS = 0L;
private static final String DEFAULT_FORMAT_RESULT = "";
public static final List<Integer> WEEKDAY_DAY_INDEX_IN_WEEK_LIST = Arrays.asList(1, 2, 3, 4, 5);
public static final List<Integer> WEEKEND_DAY_INDEX_IN_WEEK_LIST = Arrays.asList(6, 7);
public static final int MIN_YEAR = 1970;
public static final int MAX_YEAR = 2050;
public static final int MIN_MONTH = 1;
public static final int MAX_MONTH = 12;
public static final int MIN_DAY_OF_MONTH = 1;
public static final int MAX_DAY_OF_MONTH = 31;
public static final int MIN_DAY_OF_WEEK = 1;
public static final int MAX_DAY_OF_WEEK = 7;
public static final int MIN_HOUR = 0;
public static final int MAX_HOUR = 12;
public static final int MIN_MINUTE = 0;
public static final int MAX_MINUTE = 59;
public static final int MIN_SECOND = 0;
public static final int MAX_SECOND = 59;
public static final int MIN_MILLI_SECOND = 0;
public static final int MAX_MILLI_SECOND = 999;
public static final int MONTH_OF_LEAP_YEAR = 2;
public static final long ONE_SECOND = 1000L;
public static final long ONE_MINUTE = ONE_SECOND * 60;
public static final long ONE_HOUR = ONE_MINUTE * 60;
public static final long ONE_DAY = ONE_HOUR * 24;
public static final long ONE_WEEK = ONE_DAY * 7;
public static final String Y = "yyyy";
public static final String Y_M = "yyyy-dd";
public static final String M_D = "MM-dd";
public static final String Y_M_D = "yyyy-MM-dd";
public static final String H_M = "HH:mm";
public static final String H_M_S = "HH:mm:ss";
public static final String Y_M_D_H_M = "yyyy-MM-dd HH:mm";
public static final String Y_M_D_H_M_S = "yyyy-MM-dd HH:mm:ss";
public static final String Y_M_D_H_M_S_000 = "yyyy-MM-dd HH:mm:ss SSS";
private static final boolean IGNORE_DST = true;
private static TimeZone defaultTimeZone = TIME_ZONE_GMT_8;
public static TimeZone getDefaultTimeZone() {
return defaultTimeZone;
}
public static void setDefaultTimeZone(TimeZone timeZone) {
if (timeZone == null) {
return;
}
defaultTimeZone = timeZone;
}
public static long thisMonthStart() {
return monthStart(millis());
}
public static long thisMonthEnd() {
return monthEnd(millis());
}
public static long monthStart(long millis) {
Calendar calendar = calendar(millis);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
public static long monthEnd(long millis) {
Calendar calendar = calendar(millis);
return millis(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 2) - 1;
}
public static long todayStart() {
return dayStart(millis());
}
public static long todayEnd() {
return dayEnd(millis());
}
public static long dayStart(long millis) {
Calendar calendar = calendar(millis);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
public static long dayEnd(long millis) {
return dayStart(millis) + ONE_DAY - 1;
}
public static long thisWeekStart() {
return weekStart(millis());
}
public static long thisWeekEnd() {
return weekEnd(millis());
}
public static long weekStart(long millis) {
Calendar calendar = calendar(millis);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
public static long weekEnd(long millis) {
return weekStart(millis) + ONE_WEEK - 1;
}
public static Calendar calendar() {
return Calendar.getInstance(defaultTimeZone);
}
public static Calendar calendar(long millis) {
Calendar calendar = Calendar.getInstance(defaultTimeZone);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(millis);
return calendar;
}
public static long millis() {
return calendar().getTimeInMillis();
}
public static long millis(Calendar calendar) {
try {
return calendar.getTimeInMillis();
} catch (Throwable e) {
return DEFAULT_MILLIS;
}
}
public static long millis(String value) {
return millis(value, Y_M_D_H_M_S_000);
}
public static long millis(String value, String pattern) {
if (StringUtils.isEmpty(value) || StringUtils.isEmpty(pattern)) {
return DEFAULT_MILLIS;
}
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
simpleDateFormat.setTimeZone(defaultTimeZone);
Date date = simpleDateFormat.parse(value);
if (date == null) {
return 0;
}
return date.getTime();
} catch (Throwable e) {
return DEFAULT_MILLIS;
}
}
public static long dayMillis(String value, String pattern) {
long millis = millis(value, pattern);
if (millis == DEFAULT_MILLIS) {
return DEFAULT_MILLIS;
}
Calendar calendar = calendar(millis);
calendar.set(Calendar.YEAR, MIN_YEAR);
setMonth(calendar, MIN_MONTH);
calendar.set(Calendar.DAY_OF_MONTH, MIN_DAY_OF_MONTH);
return calendar.getTimeInMillis();
}
public static String format(Calendar calendar) {
return format(calendar, Y_M_D_H_M_S_000);
}
public static String format(Calendar calendar, String format) {
if (calendar == null) {
return DEFAULT_FORMAT_RESULT;
}
return format(calendar.getTime(), format);
}
public static String format(long millis) {
return format(millis, Y_M_D_H_M_S_000);
}
public static String format(long millis, String format) {
return format(calendar(millis), format);
}
public static long add(long... millis) {
long value = defaultTimeZone.getRawOffset();
for (long milli : millis) {
value += milli;
}
return value;
}
public static String format(Date date) {
return format(date, Y_M_D_H_M_S_000);
}
public static String format(Date date, String format) {
if (date == null || format == null) {
return "";
}
try {
DateFormat dateFormat = new SimpleDateFormat(format);
dateFormat.setTimeZone(defaultTimeZone);
return dateFormat.format(date);
} catch (Throwable e) {
return "";
}
}
public static boolean sameYear(long... millisArray) {
if (millisArray == null || millisArray.length < 1) {
return false;
}
int year = millisArray.length == 1 ? calendar().get(Calendar.YEAR) : calendar(millisArray[
没有合适的资源?快使用搜索试试~ 我知道了~
springMVC做的小项目,可作为springMVC入门教材
共206个文件
jar:67个
java:53个
class:53个
需积分: 10 12 下载量 185 浏览量
2016-05-11
16:55:16
上传
评论
收藏 25.11MB ZIP 举报
温馨提示
框架基于SpringMVC+spring4.2+hibernate4.3,数据库为mysql. 基于全注解,开发过程零配置。
资源推荐
资源详情
资源评论
收起资源包目录
springMVC做的小项目,可作为springMVC入门教材 (206个子文件)
BaseRepository.class 13KB
UserConstroller.class 7KB
CalendarUtil.class 7KB
Service.class 5KB
WorkController.class 5KB
ServiceController.class 4KB
Work.class 4KB
OrderController.class 4KB
IBaseRepository.class 3KB
User.class 3KB
ServiceForm.class 3KB
Captcha.class 3KB
Order.class 3KB
WorkImage.class 3KB
RestConstroller.class 3KB
UserForm.class 2KB
UserImage.class 2KB
CommonInterceptor.class 2KB
OrderForm.class 2KB
WorkForm.class 2KB
ServiceRepository.class 1KB
WorkRepository.class 1KB
OrderRepository.class 1KB
ServiceService.class 1KB
WorkService.class 1KB
OrderService.class 1KB
UserRepository.class 1KB
UserService.class 1KB
CaptchaRepository.class 1KB
CaptchaService.class 1KB
UserVo.class 1KB
MailSender.class 1KB
WorkImageRepository.class 962B
UserImageRepository.class 953B
UserImageService.class 910B
WorkImageService.class 910B
Test.class 744B
UUIDUtil.class 737B
IWorkRepository.class 529B
IServiceRepository.class 528B
IServiceService.class 520B
IWorkService.class 520B
IUserRepository.class 454B
IUserService.class 449B
IOrderRepository.class 445B
ICaptchaRepository.class 444B
IOrderService.class 436B
ICaptchaService.class 435B
IMailSender.class 206B
IWorkImageRepository.class 205B
IUserImageRepository.class 196B
IWorkImageService.class 196B
IUserImageService.class 196B
.classpath 374B
application-one.css 8KB
index.css 6KB
application-mobile.css 1KB
500.html 1KB
404.html 1KB
hibernate-core-4.3.11.Final.jar 5.04MB
aspectjweaver-1.7.1.jar 1.71MB
poi-3.6-20091214.jar 1.47MB
spring-context-4.2.0.RELEASE.jar 1.03MB
spring-core-4.2.0.RELEASE.jar 1MB
ehcache-core-2.4.3.jar 983KB
mysql-connector-java-5.1.36.jar 949KB
jackson-databind-2.3.2.jar 894KB
spring-webmvc-4.2.0.RELEASE.jar 845KB
spring-web-4.2.0.RELEASE.jar 748KB
spring-beans-4.2.0.RELEASE.jar 712KB
javassist-3.18.1-GA.jar 697KB
quartz-2.2.1.jar 645KB
spring-data-commons-1.10.0.RELEASE.jar 574KB
commons-collections-3.1.jar 546KB
spring-test-4.2.0.RELEASE.jar 537KB
mail-1.4.7.jar 509KB
hibernate-validator-4.3.0.Final.jar 465KB
spring-orm-4.2.0.RELEASE.jar 455KB
logback-core-1.1.3.jar 444KB
antlr-2.7.7.jar 435KB
spring-websocket-4.2.0.RELEASE.jar 418KB
spring-jdbc-4.2.0.RELEASE.jar 412KB
dom4j.jar 407KB
jstl-1.2.jar 405KB
commons-lang3-3.2.1.jar 376KB
spring-messaging-4.2.0.RELEASE.jar 362KB
spring-aop-4.2.0.RELEASE.jar 355KB
logback-classic-1.1.3.jar 274KB
commons-httpclient-3.0.1.jar 273KB
spring-jms-4.2.0.RELEASE.jar 273KB
spring-tx-4.2.0.RELEASE.jar 257KB
spring-expression-4.2.0.RELEASE.jar 256KB
junit-4.10.jar 247KB
commons-codec-1.6.jar 227KB
jaxen-1.1.6.jar 226KB
jackson-core-2.3.2.jar 195KB
thumbnailator-0.4.7-all.jar 188KB
commons-beanutils-1.7.0.jar 184KB
spring-context-support-4.2.0.RELEASE.jar 176KB
spring-webmvc-portlet-4.2.0.RELEASE.jar 173KB
共 206 条
- 1
- 2
- 3
资源评论
李秀才
- 粉丝: 4752
- 资源: 47
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功