第一个要求很简单的,就是先定制一个年月日字符型格式的日期,然后将它解析成一个日期对象;再设置一个只显示星期几的日期的格式,将上面的日期对象格式输出就行了。
第二个要求也不难,你是想对数据库中的数据操作,我这里就用数组给你模拟一下吧。我定义了两个int变量SHANGBAN,XIUXI,对应你的两个字段值1和0,然后我对8月的数据进行了操作(我是假设双休日休息,对应今年的这个月),根据输入的年月日字符,用substing提取了各个字段,然后进行相应查找就行了。你可以用各个字段到数据库中相应的那一天查询对应的值就ok了。
下面是我的程序:
import java.text.SimpleDateFormat; import java.util.Date; import java.lang.String; import java.lang.Integer; public class DateExample{ public static void main(String[] args){ int SHANGBAN = 1; //上班 int XIUXI = 0; //休息 int[] AugDay = { //八月份数据 SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI, SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI, SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI, SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI, SHANGBAN,SHANGBAN,SHANGBAN }; // Create a date formatter that can parse dates of the form yyyy-MM-dd. SimpleDateFormat bartDateFormat1 = new SimpleDateFormat("yyyy-MM-dd"); // Create a string containing a text date to be parsed. String dateStringToParse = "2005-8-10"; //可以改成接受输入 try { Date date = bartDateFormat1.parse(dateStringToParse); SimpleDateFormat bartDateFormat2 = new SimpleDateFormat("EEEE"); System.out.println(dateStringToParse + " " +bartDateFormat2.format(date)); int year = Integer.parseInt(dateStringToParse.substring(0,4)); int month = Integer.parseInt(dateStringToParse.substring(5,6)); int day = Integer.parseInt(dateStringToParse.substring(7,9)); if(month == 8){ //假如输入的是8月份的话(这里只是演示,指的是今年8月,你可以按你的需要修改) if(AugDay[day-1] == SHANGBAN){ System.out.println("今天上班"); } else{ System.out.println("今天休息"); } } } catch (Exception ex){ System.out.println(ex.getMessage()); } } }
输入时间是2005-8-10,只用了八月的数组里的值来显示大体的意思,你完全可以修改满足你的需要。最后显示结果为:
2005-8-10 星期三 今天上班
好了,应该很清楚了吧,加油,也感谢你的支持!
I LOVE JAVA! |