public class Test2{
public static void main(String[] args) {
Systemoutprintln(showDate(7, 3, 3));
}
public static String showDate(int month, int weekOfMonth,int dayOfWeek){
String dateString = "";
Calendar calendar = CalendargetInstance();
calendarset(CalendarMONTH, month-1);
calendarset(CalendarWEEK_OF_MONTH, weekOfMonth);
calendarset(CalendarDAY_OF_WEEK, dayOfWeek);//周日为每周第一天
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
dateString = sdfformat( calendargetTime());
return dateString;
}
}
import javasqlDate;
public class TestWeek {
public static void main(String[] args) {
//2007-1-1 刚好是星期一,就从这天开始算
Date d = DatevalueOf("2007-1-1");
Date dd = DatevalueOf("2007-1-2");
final long oneDayTime = ddgetTime() - dgetTime(); //得到一天的long值
final long weekTime = oneDayTime 7; // 一周的long值
int start = 2007; //起始年2007
int end = 10; //要计算的年数,这里可以增加,当前计算今后10年
for (int i = 1; i <= end; i++) {
int currYear = start + i; //当前要计算的年
String tt = currYear + "-1-1";//tt:当前要计算的年的元旦日期
Date cuttIime = DatevalueOf(tt);
long count = cuttIimegetTime() - dgetTime(); //得到余下时间的long值,距离2007-1-1
long many = count % weekTime; //余下时间的天数的long值
int w = (int) (many / oneDayTime);//余下的天数
print(currYear,w);//打印日期
}
}
public static void print(int y,int i) {
String week = null;
switch (i) {
case 1:
week = "二"; break;
case 2:
week = "三";break;
case 3:
week = "四";break;
case 4:
week = "五";break;
case 5:
week = "六";break;
case 6:
week = "日";break;
case 0:
week = "一";break;
};
Systemoutprintln(y +" 年的元旦是星期" + week);
}
}
结果:未来30年:
2008 年的元旦是星期二
2009 年的元旦是星期四
2010 年的元旦是星期五
2011 年的元旦是星期六
2012 年的元旦是星期日
2013 年的元旦是星期二
2014 年的元旦是星期三
2015 年的元旦是星期四
2016 年的元旦是星期五
2017 年的元旦是星期日
2018 年的元旦是星期一
2019 年的元旦是星期二
2020 年的元旦是星期三
2021 年的元旦是星期五
2022 年的元旦是星期六
2023 年的元旦是星期日
2024 年的元旦是星期一
2025 年的元旦是星期三
2026 年的元旦是星期四
2027 年的元旦是星期五
2028 年的元旦是星期六
2029 年的元旦是星期一
2030 年的元旦是星期二
2031 年的元旦是星期三
2032 年的元旦是星期四
2033 年的元旦是星期六
2034 年的元旦是星期日
2035 年的元旦是星期一
2036 年的元旦是星期二
2037 年的元旦是星期四
public static void main(String[] args) {
//获得当前日期
Date date = new Date();
//格式化日期,EEEE为星期几格式化
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
Systemoutprintln("今天是:"+dateFmformat(date));
//再举个格式化的例子:
Systemoutprintln("今天是:"+new SimpleDateFormat("yyyyMMddEEEE")format(date));
}
1、使用Calendar类。
Calendar cal = CalendargetInstance();
calset(CalendarYEAR, 2016); // 2016年
calset(CalendarWEEK_OF_YEAR, 10); // 设置为2016年的第10周
calset(CalendarDAY_OF_WEEK, 2); // 1表示周日,2表示周一,7表示周六
Date date = calgetTime();
以上就能得到2016年第10周的周一的Date时间。
注:上面代码是手工敲的,没有放到eclipse中运行,有写错的地方请谅解
public static void main(String[] args) {
Calendar cal = CalendargetInstance();
//Java 中月 1 - 12 月,分别对应是 0 - 11
//设定目前日期为 2000/02/01(29天)
//calset(2000, 1, 1);
Systemoutprintln("现在的时间: " + calgetTime());
Systemoutprintln("本月共有 : " + calgetActualMaximum(CalendarWEEK_OF_MONTH) + " 周");
int date_Count = calgetActualMaximum(CalendarDAY_OF_MONTH);
//Java 中星期 日、一、二、三、四、五、六,分别对应是 1 - 7
if ((calget(CalendarDAY_OF_WEEK)) == 1) {
Systemoutprintln("今天星期天");
} else if ((calget(CalendarDAY_OF_WEEK)) == 2) {
Systemoutprintln("今天星期一");
} else if ((calget(CalendarDAY_OF_WEEK)) == 3) {
Systemoutprintln("今天星期二");
} else if ((calget(CalendarDAY_OF_WEEK)) == 4) {
Systemoutprintln("今天星期三");
} else if ((calget(CalendarDAY_OF_WEEK)) == 5) {
Systemoutprintln("今天星期四");
} else if ((calget(CalendarDAY_OF_WEEK)) == 6) {
Systemoutprintln("今天星期五");
} else if ((calget(CalendarDAY_OF_WEEK)) == 7) {
Systemoutprintln("今天星期六");
}
}
public static void main(String[] args) throws ParseException {
int year = 2017;
Calendar calendar = new GregorianCalendar(year, 0, 1);
int i = 1;
while (calendarget(CalendarYEAR) < year + 1) {
calendarset(CalendarWEEK_OF_YEAR, i++);
calendarset(CalendarDAY_OF_WEEK, CalendarSUNDAY);
if (calendarget(CalendarYEAR) == year) {
Systemoutprintf("星期天:%tF%n", calendar);
}
calendarset(CalendarDAY_OF_WEEK, CalendarSATURDAY);
if (calendarget(CalendarYEAR) == year) {
Systemoutprintf("星期六:%tF%n", calendar);
}
}
}
取得时间类
1、Date ,Systemoutprintln(new date());
2、calendar 此类是抽象类,要想实例化,需要实例化子类GregorianCalendar
看看jdk的API中给了相应的方法:注意月份需要加1;
有时候希望对格式进行转换。
SimpleDateFormat类 此类在javatext包下
1、准备原格式,2、准备新格式 3、转化
String str = "2011-09-11 16:35:06";
SimpleDateFormat sd = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sd2 = new SimpleDateFormate("yyyy
年MM月dd日 HH时mm分ss秒")
//然后进行转化
Date d = sdparse(str);
将时间数插入sd2上
String newStr = sd2format(d);
Systemoutprintln(newStr);
以上就是关于java 计算 每月的第几个星期的星期几是哪一天全部的内容,包括:java 计算 每月的第几个星期的星期几是哪一天、帮编写 java 获取星期几、java 怎么返回当天星期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)