/* * 实现功能:随便给你一个日期(如:2008-8-8),问这一天是星期几 ? * 方法:可有两种,见注释 */
package com.lwj.test;
import java.io.*;import java.util.*;import java.text.*;
public class Test {
public static void main(String[] args)throws Exception { /* //这是第一种方法,用Calendar的相关类实现,要注意的是:月份从0开始,星期从1开始(1表示星期日),程序中要相应处理。 int dayOfWeek; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.print("请键入日期(如:2008-8-8):"); String str=br.readLine(); String [] date=str.split("-"); int year=Integer.parseInt(date[0]); int month=Integer.parseInt(date[1]); int dayOfMonth=Integer.parseInt(date[2]); Calendar calendar=new GregorianCalendar(year,month-1,dayOfMonth); if (calendar.get(Calendar.DAY_OF_WEEK)==1) dayOfWeek=7; else dayOfWeek=calendar.get(Calendar.DAY_OF_WEEK)-1; System.out.println("打印星期几:"+dayOfWeek); br.close(); */ //这是第二种方法,用SimpleDateFormat和Date实现,更简洁,而且不用转换和处理,打印的还是汉字的星期几。 SimpleDateFormat dateFormatter=new SimpleDateFormat("yyyy-MM-dd"); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.print("请键入日期(如:2008-8-8):"); String str=br.readLine(); Date date=dateFormatter.parse(str);//将特定格定的String转换为Date; dateFormatter.applyPattern("E");//"E"表示要用星期格式化 System.out.println(dateFormatter.format(date)); br.close(); }}
运行:
第一种方法演示:
请键入日期(如:2008-8-8):2009-1-1打印星期几:4
第二种方法演示:
请键入日期(如:2008-8-8):2009-1-1星期四
