import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Test2 { public Date getThisMonday() {
return getMonday(new Date());
} public Date getMonday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, (dayOfWeek - 2) * (-1));
return cal.getTime();
} public static void main(String[] args) {
Test2 t = new Test2();
Date d = t.getThisMonday();
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(d));
}
}
在处理星期日时
cal.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
System.out.println(cal.getTime());
import java.util.*;public class FirstDayS
{
public static void main (String[] args)
{
GregorianCalendar t =new GregorianCalendar();
t.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
System.out.println(t.get(t.YEAR)+"-"+(t.get(t.MONTH)+1)+"-"+t.get(t.DATE));
}
}如果认为星期一是一周的第一天,则只需把上面程序中的Calendar.SUNDAY改为Calendar.MONDAY即可,程序如下:import java.util.*;public class FirstDayM
{
public static void main (String[] args)
{
GregorianCalendar t =new GregorianCalendar();
t.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
System.out.println(t.get(t.YEAR)+"-"+(t.get(t.MONTH)+1)+"-"+t.get(t.DATE));
}
}
//最后输出的方法笨了点,但用起来很方便。
说得不错。学习
* 创建日期 2005-3-30
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package com.infoearth;import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @李春雷
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
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;
}
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 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 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){
ManageWeek a = new ManageWeek();
System.out.println(a.getSeqWeek());
System.out.println("本周一是"+a.getMonday(new Date()));
System.out.println("本周五是"+a.getFriday(new Date()));
}}
public class Hello{
public static void main(String[] args){
Date date = new Date();
Calendar cal=new GregorianCalendar();
long time1 = date.getTime();
cal.setTimeInMillis(time1);
int week=cal.get(Calendar.DAY_OF_WEEK);
long time2 = time1 - (week-1)*24*3600*1000;
date.setTime(time2);
System.out.println(date);
System.out.println(time2/1000);
}
}