服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java中关于星期时间的操作


  在最近的一个oa中,我需要判断两个日期是否是同一周,根据一个给定的日期获得所属周的周一和周五的日期。

在完成以上任务时,我发现calendar 的确是一个功能强大的class。

下面给出源码,供兄弟们参考指正。


/*
* 创建日期 2005-3-30

package com.infoearth;

import java.sql.timestamp;
import java.text.simpledateformat;
import java.util.*;
/**
* @李春雷
*
public class manageweek {
//判断两个日期是否在同一周
boolean issameweekdates(date date1, date date2) {
calendar cal1 = calendar.getinstance();
calendar cal2 = calendar.getinstance();
cal1.settime(date1);
cal2.settime(date2);
int subyear = cal1.get(calendar.year) - cal2.get(calendar.year);
if (0 == subyear) {
if (cal1.get(calendar.week_of_year) == cal2.get(calendar.week_of_year))
return true;
}
else if (1 == subyear && 11 == cal2.get(calendar.month)) {
// 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
if (cal1.get(calendar.week_of_year) == cal2.get(calendar.week_of_year))
return true;
}
else if (-1 == subyear && 11 == cal1.get(calendar.month)) {
if (cal1.get(calendar.week_of_year) == cal2.get(calendar.week_of_year))
return true;
}
return false;
}


//产生周序列
public static string getseqweek(){
calendar c = calendar.getinstance(locale.china);
string week = integer.tostring(c.get(calendar.week_of_year));
if(week.length()==1)week = "0" + week;
string year = integer.tostring(c.get(calendar.year));
return year+week;

}

//获得周一的日期
public static string getmonday(date date){
calendar c = calendar.getinstance();
c.settime(date);
c.set(calendar.day_of_week,calendar.monday);
return new simpledateformat("yyyy-mm-dd").format(c.gettime());
}


//获得周五的日期
public static string getfriday(date date){
calendar c = calendar.getinstance();
c.settime(date);
c.set(calendar.day_of_week,calendar.friday);
return new simpledateformat("yyyy-mm-dd").format(c.gettime());


}

public static void main(string[] args){

}

}

扫描关注微信公众号