黑马程序员技术交流社区
标题:
按格式输入一个日期,计算这一天是周几,是一年中的第...
[打印本页]
作者:
java8023
时间:
2015-6-6 22:15
标题:
按格式输入一个日期,计算这一天是周几,是一年中的第...
编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,
程序计算这一天是星期几,并且计算出是一年中的第几天
看别人写的程序,感觉不是很好,就自己写了个,大家给看看如何!!!!
思路:
1、用户输入数据
2、用使用simpDateFormate指定格式接收该时间的字符串转换成日期类
3、将接受的日期类使用calendar类的setTime(Date date )方法
4、再使用其get()方法获取相应的时间参数
public class Demo {
public static void main(String[] args) throws ParseException {
//创建键盘输入对象
Scanner sca=new Scanner(System.in);
System.out.println("请按照yyyy-MM-dd的格式输入要制定的日期");
String str=sca.next();//使用一个字符串接收输入的日期
SimpleDateFormat simp=new SimpleDateFormat("yyyy-MM-dd");//创建对象,指定日期格式
Date dat=simp.parse(str); //将字符串转换成日期对象
Calendar cal=Calendar.getInstance();//创建calendar对象
cal.setTime(dat);//设置时间
int year=cal.get(Calendar.YEAR);//提取年
System.out.println("这是"+year+"年");
int month1=cal.get(Calendar.MONTH);
System.out.println(month1);
int dayofWeek=cal.get(Calendar.DAY_OF_WEEK);
int dayofyear=cal.get(Calendar.DAY_OF_YEAR);
System.out.println("这是一年中的第"+dayofyear+"天");
System.out.println("这是一周的第"+dayofWeek+"天");
}
}
复制代码
作者:
java8023
时间:
2015-6-7 23:02
有没有更好的的方法呢,大家好好商量一下
作者:
pizhihui
时间:
2015-6-7 23:10
楼主可以看看Calendar类中的setTime()方法,那个也同样可以实现你的程序中的功能。
作者:
代码人生?!
时间:
2016-5-8 15:05
太吊了,最近的方法学太多,看了只有终于把作业学出来了
作者:
Menger_
时间:
2016-9-13 22:58
我今天晚上刚刚写的,day14的作业。。。
public class Test_Calendar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个日期字符串,如2015-10-20:");
String date = sc.nextLine();
String[] str = date.split("-");
int year = Integer.parseInt(str[0]);
int month = Integer.parseInt(str[1]);
int day = Integer.parseInt(str[2]);
Calendar c = Calendar.getInstance();
c.set(year, month - 1, day);
System.out.println(year + "年-" + month + "月-" + day + "日是"
+ getWeek(c.get(Calendar.DAY_OF_WEEK)) + ",是" + year + "年的第"
+ c.get(Calendar.DAY_OF_YEAR) + "天");
}
public static String getWeek(int week) {
String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return arr[week];
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2