Celendar Date GregorianCalendar 的一些操作的整理
来源:互联网 发布:数控立钻编程实例 编辑:程序博客网 时间:2024/05/28 04:52
package shijian;
import java.util.*;
/**
* @author高厦
* 我们注意以下几点:
* 1.外国的一个星期开始的一天是 星期天 数字代号为1
* 2.外国的一个月开始是一月 数字代号为 0
* 3.我们这里一般用它们的静态常量去进行计算
* 4.大写的如:DAY_OF_WEEK 等都是具体的操作(控制)常量,它们只是告诉你具体的操作
* */
public class Shijian {
public static final int MAIO = 0;
public static final int FEN_ZHONG = 1;
public static final int XIAO_SHI = 2;
public static final int RI = 3;
public static final int YUE = 4;
public static final int NIAN = 5;
// 获得当前时间年月日时和获取1970年后的毫秒数
public static long catchDmdh() {
Date date=new Date();
return date.getTime();
}
/*
* -------------时间操作
*/
// 现在时间添加一段时间后的时间(制定具体添加类型)
public static Date addNowTime(int leixing, int shijian) {
GregorianCalendar gCa = new GregorianCalendar();
// 用setTime设置当前时间
gCa.setTime(new Date());
switch (leixing) {
case MAIO:
gCa.add(Calendar.SECOND, shijian);
return gCa.getTime();
case FEN_ZHONG:
gCa.add(Calendar.MINUTE, shijian);
return gCa.getTime();
case XIAO_SHI:
gCa.add(Calendar.HOUR, shijian);
return gCa.getTime();
case RI:
gCa.add(Calendar.DATE, shijian);
return gCa.getTime();
case YUE:
gCa.add(Calendar.MONTH, shijian);
return gCa.getTime();
case NIAN:
gCa.add(Calendar.YEAR, shijian);
return gCa.getTime();
default:
return null;
}
}
// 向具体某段时间添加一段时间后的时间
public static Date addConNowTime(int nian, int yue, int ri, int xiaoshi,
int fenzhong, int miao, int leixing, int shijian)
{
GregorianCalendar gCa = new GregorianCalendar(nian, yue, ri, xiaoshi,
fenzhong, miao);
switch (leixing) {
case 0:
gCa.add(Calendar.SECOND, shijian);
return gCa.getTime();
case 1:
gCa.add(Calendar.MINUTE, shijian);
return gCa.getTime();
case 2:
gCa.add(Calendar.HOUR, shijian);
return gCa.getTime();
case 3:
gCa.add(Calendar.DATE, shijian);
return gCa.getTime();
case 4:
gCa.add(Calendar.MONTH, shijian);
return gCa.getTime();
case 5:
gCa.add(Calendar.YEAR, shijian);
return gCa.getTime();
default:
return null;
}
}
/*
* 具体的星期操作
*
*
*/
//获得当前是多少周
public static int getWeekOfYear(Date date) {
Calendar c = new GregorianCalendar();
//设置第一天是星期1
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setMinimalDaysInFirstWeek(7);
c.setTime (date);
return c.get(Calendar.WEEK_OF_YEAR);
}
// 得到某一年周的总数
public static int getMaxWeekNumOfYear(int year) {
Calendar c = new GregorianCalendar();
c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);
return getWeekOfYear(c.getTime());
}
/*得到某年某周的第一天
*/
public static Date getFirstDayOfWeek(int year, int week) {
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR, year);
c.set (Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);
Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);
return getConNowWeekFirstDate(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE));
}
// 获得当前日期所在的星期的第一天(星期1)是几号
public static Date getNowWeekFirstDate() {
GregorianCalendar gCa = new GregorianCalendar();
// 设置这个星期的第一天为星期1
gCa.setFirstDayOfWeek(Calendar.MONDAY);
// 把当前时间设置成这个星期的星期1
gCa.set(Calendar.DAY_OF_WEEK, gCa.getFirstDayOfWeek());
return gCa.getTime();
}
// 获得具体时间所在的星期的第一天(星期1)是几号
public static Date getConNowWeekFirstDate(int nian, int yue, int ri) {
GregorianCalendar gCa = new GregorianCalendar();
//注意这里外国的月是从0开始的
gCa.set(nian,yue,ri);
Calendar c=new GregorianCalendar();
c.setTime(gCa.getTime());
// 设置这个星期的第一天为星期1
gCa.setFirstDayOfWeek(Calendar.MONDAY);
// 把当前时间设置成这个星期的星期1
gCa.set(Calendar.DAY_OF_WEEK, gCa.getFirstDayOfWeek());
return gCa.getTime();
}
// 获得当前星期的最后一天(星期天)是几号
public static Date getNowWeekLastDate() {
GregorianCalendar gCa = new GregorianCalendar();
// 把日期加七(因为中国的时间和国外的时间不同国外本星期的星期天就是中国上星期的星期天)
gCa.add(Calendar.DATE, 7);
// 把时间设置为这个星期的星期天
gCa.set(Calendar.DAY_OF_WEEK, 1);
return gCa.getTime();
}
// 获得具体时间所在的星期的最后一天(星期天)是几号
public static Date getConNowWeekLastDate(int nian, int yue, int ri) {
GregorianCalendar gCa = new GregorianCalendar();
//注意这里外国的月是从0开始的
gCa.set(2008,Calendar.OCTOBER,28,11,22,11);
gCa.add(Calendar.DATE, 7);
Calendar c=new GregorianCalendar();
c.setTime(gCa.getTime());
// 设置这个星期的第一天为星期1
gCa.setFirstDayOfWeek(Calendar.MONDAY);
// 把当前时间设置成这个星期的星期1
gCa.set(Calendar.DAY_OF_WEEK, 1);
return gCa.getTime();
}
//获得具体月份的天数
public static int getDaysOfMonth(int nian ,int yue)
{
Calendar cal=new GregorianCalendar();
cal.set(Calendar.YEAR, nian);
cal.set(Calendar.MONTH, yue);
cal.set(cal.DATE, 1);
cal.roll(cal.DATE, -1);
return cal.get(cal.DATE);
}
//获得具体时间所在的月份的第一天是星期几
public static int getDayOfMonthInWeek(int nian ,int yue)
{
Calendar cal=new GregorianCalendar();
cal.set(Calendar.YEAR, nian);
cal.set(Calendar.MONTH, yue);
cal.set(cal.DATE, 1);
return (cal.get(cal.DAY_OF_WEEK)-1);
}
public static void main(String[] args) {
System.out.print(Shijian.getFirstDayOfWeek(2008, 3));
}
}
- Celendar Date GregorianCalendar 的一些操作的整理
- Date类与GregorianCalendar类对时间的操作
- Date日期的一些操作
- java的Date、SimpleDateFormat、GregorianCalendar之间的转化
- 计算Java日期Date、DateFormat和GregorianCalendar的使用
- 对Calendar,date的一些操作
- JAVA关于Date操作的一些代码
- Java中Date的一些简单操作
- java的一些date,calendar操作
- javascript一些有关date操作的方法
- JAVA对Date的一些操作
- java中Date的一些操作
- js 对date操作的一些方法
- GitLab的一些操作整理
- GregorianCalendar的使用
- GregorianCalendar类的学习
- GregorianCalendar类的学习
- GregorianCalendar 的使用方法
- Flex & Bison 计算器性能
- 用WinSock实现HTTP的GET
- Spread的常用事件
- 寻求毕业设计
- 很好的linux命令笔记
- Celendar Date GregorianCalendar 的一些操作的整理
- Asp.net 2.0(C#)图片存储到数据库和从数据库读取显示
- ScriptManager 客户端调用WebMethod事件
- 浏览器集成教学 自定义浏览器(Updated for Windows XP SP2)
- 删除文件中重复的行
- 初次上 USACO 做题 grft1
- JAVA解析XML四种方法
- 史蒂夫·乔布斯的脑子里在想什么
- spring mvc中一个jsp中包含多个form的解决方式