如何通过传递特定日期来确定星期几?

新手上路,请多包涵

例如,我有日期:“23/2/2010”(2010 年 2 月 23 日)。我想将它传递给一个返回 星期几 的函数。我怎样才能做到这一点?

在此示例中,函数应返回 String “星期二”。

此外,如果只需要日期序号,如何检索?

原文由 evilReiko 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 407
2 个回答

是的。根据您的具体情况:

  • 您可以使用 java.util.Calendar
   Calendar c = Calendar.getInstance();
  c.setTime(yourDate);
  int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);

  • 如果您需要输出为 Tue 而不是 3(星期几从星期日 1 开始索引,请参阅 Calendar.SUNDAY),而不是通过日历,只需重新格式化字符串: new SimpleDateFormat("EE").format(date)EE 意思是“星期几,短版”)

  • 如果你的输入是字符串,而不是 Date ,你应该使用 SimpleDateFormat 来解析它: new SimpleDateFormat("dd/M/yyyy").parse(dateString)

  • 您可以使用 joda-time 的 DateTime 并调用 dateTime.dayOfWeek() 和/或 DateTimeFormat

  • 编辑:从 Java 8 开始,您现在可以使用 java.time 包而不是 joda-time

原文由 Bozho 发布,翻译遵循 CC BY-SA 4.0 许可协议

  String inputDate = "01/08/2012";
  SimpleDateFormat format1 = new SimpleDateFormat("dd/MM/yyyy");
  Date dt1 = format1.parse(input_date);
  DateFormat format2 = new SimpleDateFormat("EEEE");
  String finalDay = format2.format(dt1);

使用此代码从输入日期中查找日期名称。简单且经过充分测试。

原文由 JDGuide 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题