黑马程序员技术交流社区

标题: 为什么Calendar没有类似DateFormat的工具? [打印本页]

作者: wnmmp    时间: 2014-8-7 11:16
标题: 为什么Calendar没有类似DateFormat的工具?
本帖最后由 wnmmp 于 2014-8-7 11:20 编辑

    这是基础测试中遇到一道题:   
    编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
       本来想Calendar中应该有个Format这样的工具,设置好日期然后直接按照自己需要的格式显示时间,结果找了半天没有找到,虽然想到DateFormat,但是一时不晓得怎样用Date设置Calendar,只好将“yyyy-MM-dd”分割成三个字符串,分别当做年月日传入到Calendar。为什么不搞个 CalendarFormat,直接将DateFormat合并到CalendarFormat算了?

作者: fantacyleo    时间: 2014-8-7 11:37
Date的方法几乎都过期了,接收日期都用Calendar了。Calendar已经提供了各种field,其实用起来跟DateFormat是一样的
作者: icris    时间: 2014-8-7 15:02
  1.                 Calendar cal = Calendar.getInstance();
  2.                 cal.setTime(new SimpleDateFormat("yyyy-MM-dd").parse("2014-8-7"));
  3.                 System.out.printf("第%d天,%s", cal.get(Calendar.DAY_OF_YEAR),
  4.                                 DateFormatSymbols.getInstance().getWeekdays()[cal.get(Calendar.DAY_OF_WEEK)]);
复制代码

提供的方法一般情况下都是够用的…不给是因为没必要而且可能他们认为不合逻辑
作者: wnmmp    时间: 2014-8-7 17:57
icris 发表于 2014-8-7 15:02
提供的方法一般情况下都是够用的…不给是因为没必要而且可能他们认为不合逻辑 ...

你这代码比我的简单多了,高手!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2