`
- 浏览:
78586 次
- 性别:
- 来自:
湖南
-
- <PRE class=java name="code">package com.iwode.common;
-
-
import java.text.DateFormat;
-
import java.text.ParsePosition;
-
import java.text.SimpleDateFormat;
-
import java.util.Calendar;
-
import java.util.Date;
-
import java.util.GregorianCalendar;
-
-
-
public class CalendarUtil {
-
-
private int weeks = 0;
-
private int MaxDate;
-
private int MaxYear;
-
-
public static void main(String[] args) {
-
CalendarUtil tt = new CalendarUtil();
-
System.out.println("获取当天日期:" + tt.getNowTime("yyyy-MM-dd"));
-
System.out.println("获取本周一日期:" + tt.getMondayOFWeek());
-
System.out.println("获取本周日的日期~:" + tt.getCurrentWeekday());
-
System.out.println("获取上周一日期:" + tt.getPreviousWeekday());
-
System.out.println("获取上周日日期:" + tt.getPreviousWeekSunday());
-
System.out.println("获取下周一日期:" + tt.getNextMonday());
-
System.out.println("获取下周日日期:" + tt.getNextSunday());
-
System.out.println("获得相应周的周六的日期:" + tt.getNowTime("yyyy-MM-dd"));
-
System.out.println("获取本月第一天日期:" + tt.getFirstDayOfMonth());
-
System.out.println("获取本月最后一天日期:" + tt.getDefaultDay());
-
System.out.println("获取上月第一天日期:" + tt.getPreviousMonthFirst());
-
System.out.println("获取上月最后一天的日期:" + tt.getPreviousMonthEnd());
-
System.out.println("获取下月第一天日期:" + tt.getNextMonthFirst());
-
System.out.println("获取下月最后一天日期:" + tt.getNextMonthEnd());
-
System.out.println("获取本年的第一天日期:" + tt.getCurrentYearFirst());
-
System.out.println("获取本年最后一天日期:" + tt.getCurrentYearEnd());
-
System.out.println("获取去年的第一天日期:" + tt.getPreviousYearFirst());
-
System.out.println("获取去年的最后一天日期:" + tt.getPreviousYearEnd());
-
System.out.println("获取明年第一天日期:" + tt.getNextYearFirst());
-
System.out.println("获取明年最后一天日期:" + tt.getNextYearEnd());
-
System.out.println("获取本季度第一天:" + tt.getThisSeasonFirstTime(11));
-
System.out.println("获取本季度最后一天:" + tt.getThisSeasonFinallyTime(11));
-
System.out.println("获取两个日期之间间隔天数2008-12-1~2008-9.29:"
-
+ CalendarUtil.getTwoDay("2008-12-1", "2008-9-29"));
-
System.out.println("获取当前月的第几周:" + tt.getWeekOfMonth());
-
System.out.println("获取当前年份:" + tt.getYear());
-
System.out.println("获取当前月份:" + tt.getMonth());
-
System.out.println("获取今天在本年的第几天:" + tt.getDayOfYear());
-
System.out.println("获得今天在本月的第几天(获得当前日):" + tt.getDayOfMonth());
-
System.out.println("获得今天在本周的第几天:" + tt.getDayOfWeek());
-
System.out.println("获得半年后的日期:"
- + tt.convertDateToString(tt.getTimeYearNext()));
- }
-
-
-
public static int getYear() {
-
return Calendar.getInstance().get(Calendar.YEAR);
- }
-
-
-
public static int getMonth() {
-
return Calendar.getInstance().get(Calendar.MONTH) + 1;
- }
-
-
-
public static int getDayOfYear() {
-
return Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
- }
-
-
-
public static int getDayOfMonth() {
-
return Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
- }
-
-
-
public static int getDayOfWeek() {
-
return Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
- }
-
-
-
public static int getWeekOfMonth() {
-
return Calendar.getInstance().get(Calendar.DAY_OF_WEEK_IN_MONTH);
- }
-
-
-
public static Date getTimeYearNext() {
-
Calendar.getInstance().add(Calendar.DAY_OF_YEAR, 183);
-
return Calendar.getInstance().getTime();
- }
-
-
-
public static String convertDateToString(Date dateTime) {
-
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
-
return df.format(dateTime);
- }
-
-
-
public static String getTwoDay(String sj1, String sj2) {
-
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
-
long day = 0;
-
try {
- java.util.Date date = myFormatter.parse(sj1);
- java.util.Date mydate = myFormatter.parse(sj2);
-
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
-
} catch (Exception e) {
-
return "";
- }
-
return day + "";
- }
-
-
-
public static String getWeek(String sdate) {
- Date date = CalendarUtil.strToDate(sdate);
- Calendar c = Calendar.getInstance();
- c.setTime(date);
-
return new SimpleDateFormat("EEEE").format(c.getTime());
- }
-
-
-
public static Date strToDate(String strDate) {
-
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
-
ParsePosition pos = new ParsePosition(0);
- Date strtodate = formatter.parse(strDate, pos);
-
return strtodate;
- }
-
-
-
public static long getDays(String date1, String date2) {
-
if (date1 == null || date1.equals(""))
-
return 0;
-
if (date2 == null || date2.equals(""))
-
return 0;
-
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
-
java.util.Date date = null;
-
java.util.Date mydate = null;
-
try {
- date = myFormatter.parse(date1);
- mydate = myFormatter.parse(date2);
-
} catch (Exception e) {
- }
-
long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
-
return day;
- }
-
-
-
public String getDefaultDay() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.set(Calendar.DATE, 1);
-
lastDate.add(Calendar.MONTH, 1);
-
lastDate.add(Calendar.DATE, -1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getPreviousMonthFirst() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.set(Calendar.DATE, 1);
-
lastDate.add(Calendar.MONTH, -1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getFirstDayOfMonth() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.set(Calendar.DATE, 1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getCurrentWeekday() {
-
weeks = 0;
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
-
currentDate.add(GregorianCalendar.DATE, mondayPlus + 6);
- Date monday = currentDate.getTime();
-
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
-
public String getNowTime(String dateformat) {
-
Date now = new Date();
-
SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);
- String hehe = dateFormat.format(now);
-
return hehe;
- }
-
-
-
private int getMondayPlus() {
- Calendar cd = Calendar.getInstance();
-
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1;
-
if (dayOfWeek == 1) {
-
return 0;
-
} else {
-
return 1 - dayOfWeek;
- }
- }
-
-
-
public String getMondayOFWeek() {
-
weeks = 0;
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
- currentDate.add(GregorianCalendar.DATE, mondayPlus);
- Date monday = currentDate.getTime();
-
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
-
public String getSaturday() {
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
-
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);
- Date monday = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
-
public String getPreviousWeekSunday() {
-
weeks = 0;
- weeks--;
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
- currentDate.add(GregorianCalendar.DATE, mondayPlus + weeks);
- Date monday = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
-
public String getPreviousWeekday() {
- weeks--;
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
-
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);
- Date monday = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
-
public String getNextMonday() {
- weeks++;
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
-
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7);
- Date monday = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
-
public String getNextSunday() {
-
-
int mondayPlus = this.getMondayPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
-
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 + 6);
- Date monday = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preMonday = df.format(monday);
-
return preMonday;
- }
-
-
private int getMonthPlus() {
- Calendar cd = Calendar.getInstance();
-
int monthOfNumber = cd.get(Calendar.DAY_OF_MONTH);
-
cd.set(Calendar.DATE, 1);
-
cd.roll(Calendar.DATE, -1);
- MaxDate = cd.get(Calendar.DATE);
-
if (monthOfNumber == 1) {
-
return -MaxDate;
-
} else {
-
return 1 - monthOfNumber;
- }
- }
-
-
-
public String getPreviousMonthEnd() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.add(Calendar.MONTH, -1);
-
lastDate.set(Calendar.DATE, 1);
-
lastDate.roll(Calendar.DATE, -1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getNextMonthFirst() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.add(Calendar.MONTH, 1);
-
lastDate.set(Calendar.DATE, 1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getNextMonthEnd() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.add(Calendar.MONTH, 1);
-
lastDate.set(Calendar.DATE, 1);
-
lastDate.roll(Calendar.DATE, -1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getNextYearEnd() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.add(Calendar.YEAR, 1);
-
lastDate.set(Calendar.DAY_OF_YEAR, 1);
-
lastDate.roll(Calendar.DAY_OF_YEAR, -1);
- str = sdf.format(lastDate.getTime());
-
return str;
- }
-
-
-
public String getNextYearFirst() {
-
String str = "";
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
- Calendar lastDate = Calendar.getInstance();
-
lastDate.add(Calendar.YEAR, 1);
-
lastDate.set(Calendar.DAY_OF_YEAR, 1);
- str = sdf.format(lastDate.getTime());
-
return str;
-
- }
-
-
-
private int getMaxYear() {
- Calendar cd = Calendar.getInstance();
-
cd.set(Calendar.DAY_OF_YEAR, 1);
-
cd.roll(Calendar.DAY_OF_YEAR, -1);
-
int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
-
return MaxYear;
- }
-
-
private int getYearPlus() {
- Calendar cd = Calendar.getInstance();
-
int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);
-
cd.set(Calendar.DAY_OF_YEAR, 1);
-
cd.roll(Calendar.DAY_OF_YEAR, -1);
-
int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
-
if (yearOfNumber == 1) {
-
return -MaxYear;
-
} else {
-
return 1 - yearOfNumber;
- }
- }
-
-
-
public String getCurrentYearFirst() {
-
int yearPlus = this.getYearPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
- currentDate.add(GregorianCalendar.DATE, yearPlus);
- Date yearDay = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preYearDay = df.format(yearDay);
-
return preYearDay;
- }
-
-
public String getCurrentYearEnd() {
-
Date date = new Date();
-
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");
- String years = dateFormat.format(date);
-
return years + "-12-31";
- }
-
-
public String getPreviousYearFirst() {
-
Date date = new Date();
-
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");
- String years = dateFormat.format(date);
-
int years_value = Integer.parseInt(years);
- years_value--;
-
return years_value + "-1-1";
- }
-
-
public String getPreviousYearEnd() {
- weeks--;
-
int yearPlus = this.getYearPlus();
-
GregorianCalendar currentDate = new GregorianCalendar();
- currentDate.add(GregorianCalendar.DATE, yearPlus + MaxYear * weeks
-
+ (MaxYear - 1));
- Date yearDay = currentDate.getTime();
- DateFormat df = DateFormat.getDateInstance();
- String preYearDay = df.format(yearDay);
-
return preYearDay;
- }
-
-
-
public String getThisSeasonFirstTime(int month) {
-
int array[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
-
int season = 1;
-
if (month >= 1 && month <= 3) {
-
season = 1;
- }
-
if (month >= 4 && month <= 6) {
-
season = 2;
- }
-
if (month >= 7 && month <= 9) {
-
season = 3;
- }
-
if (month >= 10 && month <= 12) {
-
season = 4;
- }
-
int start_month = array[season - 1][0];
-
int end_month = array[season - 1][2];
-
-
Date date = new Date();
-
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");
- String years = dateFormat.format(date);
-
int years_value = Integer.parseInt(years);
-
-
int start_days = 1;
-
int end_days = getLastDayOfMonth(years_value, end_month);
-
String seasonDate = years_value + "-" + start_month + "-" + start_days;
-
return seasonDate;
-
- }
-
-
-
public String getThisSeasonFinallyTime(int month) {
-
int array[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
-
int season = 1;
-
if (month >= 1 && month <= 3) {
-
season = 1;
- }
-
if (month >= 4 && month <= 6) {
-
season = 2;
- }
-
if (month >= 7 && month <= 9) {
-
season = 3;
- }
-
if (month >= 10 && month <= 12) {
-
season = 4;
- }
-
int start_month = array[season - 1][0];
-
int end_month = array[season - 1][2];
-
-
Date date = new Date();
-
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");
- String years = dateFormat.format(date);
-
int years_value = Integer.parseInt(years);
-
-
int start_days = 1;
-
int end_days = getLastDayOfMonth(years_value, end_month);
-
String seasonDate = years_value + "-" + end_month + "-" + end_days;
-
return seasonDate;
-
- }
-
-
-
private int getLastDayOfMonth(int year, int month) {
-
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
-
|| month == 10 || month == 12) {
-
return 31;
- }
-
if (month == 4 || month == 6 || month == 9 || month == 11) {
-
return 30;
- }
-
if (month == 2) {
-
if (isLeapYear(year)) {
-
return 29;
-
} else {
-
return 28;
- }
- }
-
return 0;
- }
-
-
-
public boolean isLeapYear(int year) {
-
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
- }
-
-
-
public boolean isLeapYear2(int year) {
-
return new GregorianCalendar().isLeapYear(year);
- }
- }
- </PRE>
-
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
* 1).iTsai.ajax: 异步数据请求封装; * 2).iTsai.array: 数组的基本操作; * 3).iTsai.calendar: 日期时间操作; * 4).iTsai.form: 表单操作; * 5).iTsai.layer: 页面遮罩层; * 6).iTsai.msg: 提示信息; * 7...
熟悉常用API:包括Date、DateFormat、Calendar、System和StringBuilde等,这些是在Java编程中经常用到的类和方法。 学习集合:理解Java中的Collection、泛型、List、Set、Collections、Map和HashMap等概念和用法。 ...
常用方法1.1.2.字符串比较1.1.3. StringBuffer与 StringBuilder1.1.4. String、StringBuffer、StringBuilder的区别1.1.5.封装类比较1.2. Math类1.3. Arrays 类1.4. System 类1.5. Object 类1.6. Date 类1.6.1.日期...
String类的常用方法(已讲过,不再讲!) 120 StringBuffer和StringBuilder 121 String和StringBuffer和StringBuilder使用要点 123 时间处理相关类 124 Date时间类(java.util.Date) 124 DateFormat类和...
包括常用JS操作(复选框、单选框、下拉框) 日历控件,支持换肤等 封装的js表单验证 demo目录里有js库(jskey_core)中提供的部分功能例子 其中themes目录里jskey_core中用到的样式,与js文件同级存放。 如果想不想...
比如可 编辑的树形表格、查询常用的过滤器创建器和类似 Google Calendar 的日历等 等。 内置的数据整合功能。利用 SmartClient 的 MVC 模式,用户可以通过定义 数据源(Data Source),很容易地开发出能对服务器端...
第3版 机械工业出版社 教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 高 中 控制结构 高 高 易 数组 高 高 中 方法 很高 高 中 封装 很高 很高 难...
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记.pdf 031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得...
实验1 String类的常用方法 19 实验2 比较日期的大小 21 实验3 处理大整数 22 上机实践6 组件及事件处理 23 实验1 算术测试 23 实验2 信号灯 25 实验3 布局与日历 28 上机实践7 组件及事件处理2 31 实验1 方程求根 31...
CalendarUtils Calendar Unility Class ClipboardUtils Clipboard Unility Class CollectionUtils Collection Unility Class CommonUtils Common Unility Class CpuUtils Cpu Unility Class DeviceUtils ...
五、 封装(面向对象特征之一)★★★★ 23 六、 继承(面向对象特征之一)★★★★ 25 七、 接口(面向对象特征之一)★★★★ 28 八、 多态(面向对象特征之一)★★★★ 30 九、 java.lang.Object 31 十、 异常★...
12.2.3 使用calendar 393 12.3 规则表示式 395 12.3.1 定义规则表示式 396 12.3.2 pattern与matcher 403 12.4 nio2文件系统 405 12.4.1 api架构概述 405 12.4.2 操作路径 406 12.4.3 属性读取与设定 ...
9.4.2 Calendar类 334 9.4.3 TimeZone类 337 9.5 正则表达式 338 9.5.1 创建正则表达式 338 9.5.2 使用正则表达式 341 9.6 程序国际化 345 9.6.1 Java国际化的思路 346 9.6.2 Java支持的语言和国家 346 ...
3.3.1 Calendar控件的应用 3.3.2 AdRotator控件的应用 3.3.3 Xml控件的应用 3.4 本章小结 第4章 验证控件 4.1 非空验证 4.2 范围验证 4.3 比较验证 4.4 使用正则表达式验证 4.5 自定义验证 4.6 本章小...
differ.java 测试静态方法与实例方法之间的区别 forefather.java 一个简单的基类 grandson.java 上面这个类的子类 hasConstructor.java 拥有构造器的类 hasFinalFun.java 拥有最终方法的类 hasRecall.java ...
5.10 日历控件(Calendar) 5.10.1 日历控件的样式 5.10.2 日历控件的事件 5.11 广告控件(AdRotator) 5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView 和View) 5.14 表控件(Table) 5.15 向导控件...
11.3 Date类和Calendar类 324 实例191 使用Date类获取系统的当前时间 324 实例192 使用DateFormat类获取系统的当前时间 325 实例193 使用GregorianCalendar类获取系统的当前时间 326 实例194 使用...
11.3 Date类和Calendar类 324 实例191 使用Date类获取系统的当前时间 324 实例192 使用DateFormat类获取系统的当前时间 325 实例193 使用GregorianCalendar类获取系统的当前时间 326 实例194 使用SimpleDateFormat类...
11.3 Date类和Calendar类 324 实例191 使用Date类获取系统的当前时间 324 实例192 使用DateFormat类获取系统的当前时间 325 实例193 使用GregorianCalendar类获取系统的当前时间 326 实例194 使用...