gpt4 book ai didi

java - 将字符串转换为星期几(不是确切日期)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:26 26 4
gpt4 key购买 nike

我收到一个 String,它是一周中的某一天,例如周一。现在我想获取当天的常量整数表示,它在 java.util.Calendar 中使用。

我真的必须自己做 if(day.equalsIgnoreCase("Monday")){...}else if(...){...} 吗?有什么巧妙的方法吗?如果我挖掘 SimpleDateFormat 并将其与 Calendar 混合,我生成的行数几乎与输入丑陋的 if-else-to-infitity 语句一样多。

最佳答案

您可以使用 SimpleDateFormat 它也可以为特定的 Locale 解析日期

public class Main {

private static int parseDayOfWeek(String day, Locale locale)
throws ParseException {
SimpleDateFormat dayFormat = new SimpleDateFormat("E", locale);
Date date = dayFormat.parse(day);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
return dayOfWeek;
}

public static void main(String[] args) throws ParseException {
int dayOfWeek = parseDayOfWeek("Sunday", Locale.US);
System.out.println(dayOfWeek);

dayOfWeek = parseDayOfWeek("Tue", Locale.US);
System.out.println(dayOfWeek);

dayOfWeek = parseDayOfWeek("Sonntag", Locale.GERMANY);
System.out.println(dayOfWeek);
}

}

关于java - 将字符串转换为星期几(不是确切日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18232340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com