程序判断2018年8月14日是星期几

本文介绍如何编程确定2018年8月14日是一周中的哪一天,涉及日期处理和算法应用。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Zuoye3 {
    public static void main(String[] args) throws ParseException {
        String s="2018年8月14日";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
        Date d=sdf.parse(s);
        Calendar c=Calendar.getInstance();
        c.setTime(d);
        int date = c.get(Calendar.DAY_OF_WEEK);
        day(date);
    }

    public static void day(int i) {
        switch (i) {
            case 1:
                System.out.println("星期天");
                break;
            case 2:
                System.out.println("星期一");
                break;
            case 3:
                System.out.println("星期二");
                break;
            case 4:
                System.out.println("星期三");
                break;
            case 5:
                System.out.println("星期四");
                break;
            case 6:
                System.out.println("星期五");
                break;
            case 7:
                System.out.println("星期六");
                break;
        }
    }
}
任务描述 本关任务:练习时间期工具类的使用。 相关知识 Date类用于处理期和时间。 构造函数 Date(x)的参数x可以有四种情况:   new Date(); // 无参数,返回当前时间 new Date(millseconds); // 参数为距离19701月18时0分0秒0毫秒的毫秒数,返回对应的时间 new Date(timeString); // 参数为时间字符串,返回这个时间字符串对应的时间 new Date(year,month,day,hour,minute,second,millsecond); // 参数为整数序列,分别表示、月、、时、分、秒、毫秒,返回这些时间参数对应的一个特定的时间 以上均返回一个对应的时间对象,如下:   console.log(new Date()); // 输出Sat Apr 07 2018 18:56:00 console.log(new Date(1000)); // 输出Thu Jan 01 1970 08:00:01 console.log(new Date("April 7, 2018 18:00:00")); // 输出Sat Apr 07 2018 18:00:00 console.log(new Date(2018,4,7,18,0,0,0)); // 输出Mon May 07 2018 18:00:00 时间对象有一系列获取和设置、月、、时、分、秒、毫秒的函数。 获取和设置 为举例方便,我们先定义一个时间。   //19701月1上午8点0分0秒 var date = new Date(0); x.getFullYear()返回x对应的四位数份,x为Date类对象; console.log(date.getFullYear()); // 输出1970 setFullYear(year,month,day)用于设置份,month和day可选; date.setFullYear(2017); console.log(date); // 输出Sun Jan 01 2017 08:00:00 x.getMonth()返回x中的月份,结果在0(一月)到11(十二月)之间; console.log(date.getMonth());//输出0 setMonth(month,day)作用是设置月份,0表示一月。1表示二月,依次类推,day可选; date.setMonth(2); console.log(date);//输出Sun Mar 01 1970 08:00:00 x.getDate()返回x对象在一个月的第天(1到31),x.getDay()返回x对象在一个星期的第天(0到6,0为周); console.log(date.getDate());//输出1 console.log(date.getDay());//输出4 由此可见,19701月1号那个美好的新第一天是个周四。 setDate(day)设置期对象在一个月的第天(1到31); date.setDate(31); console.log(date.getDate());//输出31 获取和设置时分秒 获取和设置时、分、秒、毫秒的函数在形式上与上面的函数乎相同,这里以表格的形式列出:   | 方法 | 作用 | 参数或者结果的范围 | | ------------ | ------------ | ------------ | | getHours() | 获取小时 | 023| | setHours(hour,min,sec,millsec) | 设置小时 | 023、059、059、0999 | | getMinutes() | 获取分钟 | 059 | | setMinutes(min,sec,millsec) | 设置分钟 | 059、059、0999 | | getSeconds() | 获取秒钟 | 059 | | setSeconds(sec,millsec) |设置秒钟 |059、0999 | | getMillSeconds() | 获取毫秒数 | 0999 | | setMillSeconds(millsec) | 设置毫秒数 | 0999 | | getTime() | 获取距19701月18时0分0秒的毫秒数| 大于等于0 | | setTime(millsec) | 设置距19701月18时0分0秒的毫秒数| 大于等于0 | 注:以上多个参数的函数,除了第一个参数外的参数都为可选。 期转字符串 toString()将期转字符串,结果类似于Sun Jan 07 2018 20:01:14 GMT+0800 (中国标准时间),分别表示星期、月份、天数、份、小时、分钟、秒和时区(中国采用东八区时间)。   console.log(new Date().toString()); // 输出Sat Apr 07 2018 20:40:14 GMT+0800 (中国标准时间) 编程要求 本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求如下: date是一个时间对象,求出date对应的份,月份(0表示一月),一个月第天(1表示第一天),星期(0表示周,1表示周一); 拼接这些结果(以,隔开)组成一个字符串并返回该字符串; 具体请参见后续测试样例。 测试说明 测试过程: 平台将读取用户补全后的DateClass.js; 调用其中的mainJs()方法,并输入若干组测试数据; 接着根据测试后的输出判断程序是否正确。 以下是测试样例:(注:我们的测试用服务器是Linux,所以期的字符串格式和相关知识中介绍的有细微区别,学员不用考虑) 测试输入: 0 预期输出: 1970,0,1,4
最新发布
11-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值