import java.util.Calendar;
成都创新互联公司从2013年创立,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元全州做网站,已为上家服务,为全州各地企业和个人服务,联系电话:18982081108
import java.util.Scanner;
public class replacenbsp {
/**
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入日期,格式为yyyy-MM: ");
String s = scanner.nextLine();
if(!s.matches("\\d{4}-\\d{2}")){
System.out.println("日期格式输入错误");
System.exit(0);
}
int count = 0;
int month = Integer.parseInt(s.substring(5, 7));
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(s.substring(0, 4)));
cal.set(Calendar.MONTH, month - 1);
cal.set(Calendar.DATE, 1);
while(cal.get(Calendar.MONTH) month){
int day = cal.get(Calendar.DAY_OF_WEEK);
if(!(day == Calendar.SUNDAY || day == Calendar.SATURDAY)){
count++;
}
cal.add(Calendar.DATE, 1);
}
System.out.println(count);
}
}
正常的工作日根据 Calendar 就可以,国庆,春节等你可能要根据国务院的通知,通过配置文件等才能处理。算不出来的。要是能算出来,你就是国务院了。
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
System.out.println(countWorkDay(2018, 6));
}
/**
* 获取指定年月有多少个工作日)
*
* @param year
* @param month
* @return
*/
public static int countWorkDay(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
// 月份是从0开始计算,所以需要减1
c.set(Calendar.MONTH, month - 1);
// 当月最后一天的日期
int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
// 开始日期为1号
int start = 1;
// 计数
int count = 0;
while (start = max) {
c.set(Calendar.DAY_OF_MONTH, start);
if (isWorkDay(c)) {
count++;
}
start++;
}
return count;
}
// 判断是否工作日(未排除法定节假日,由于涉及到农历节日,处理很麻烦)
public static boolean isWorkDay(Calendar c) {
// 获取星期,1~7,其中1代表星期日,2代表星期一 ... 7代表星期六
int week = c.get(Calendar.DAY_OF_WEEK);
// 不是周六和周日的都认为是工作日
return week != Calendar.SUNDAY week != Calendar.SATURDAY;
}
}
import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Test9 {
/**
* 第9题:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
*
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
Scanner scan = new Scanner(System.in);
System.out.println("请输入日期(格式为yyyy-mm-dd):");
String input = scan.next();
DateFormat format = DateFormat.getDateInstance();
Date date = format.parse(input);
Calendar ca = Calendar.getInstance();
ca.setTime(date); //设置输入时间
int xingqi = ca.get(Calendar.DAY_OF_WEEK);//获得输入日期是星期几?
System.out.println("您输入的日期是:"+input);
System.out.println("这一天是"+ GetWeek(xingqi));
System.out.println("这一天是这年的第"+ ca.get(Calendar.DAY_OF_YEAR)+"天");
}
public static String GetWeek(int i)
{
if(i0||i7){
System.out.println(i+"没有对应的星期");
}
String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return weeks[i];
}
}