【发布时间】:2021-07-10 04:21:26
【问题描述】:
1.现在我正在尝试创建一个仅包含工作日名称、小时和分钟的 SimpleDateFormat。 我刚刚定义了一个这样的模式: DateFormat sdf = new SimpleDateFormat("EEE:hh:mm");但是,这种模式似乎根本不起作用;
2.这是我定义日期格式的代码,下面的代码只能包含小时和分钟,当我尝试输入“Tue:21:30”时,不会存储“Tue”。如何定义像“Tue 21:30”这样的时间格式?
DateFormat sdf = new SimpleDateFormat("EEE:hh:mm");
Date date = sdf.parse("Tue:21:30");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int hours = 8;
int minutes =3000;
cal.add(Calendar.HOUR_OF_DAY, hours);
cal.add(Calendar.MINUTE, minutes);
date = cal.getTime();
System.out.println(date);
System.out.println(date.getDay());
System.out.println(date.getHours())
【问题讨论】:
-
你不能改用较新的
DateTimeFormatter吗?另外,“Tue:21:30”是什么意思?是下周二还是上周二还是本周的周二? -
我的意思是日期应该只包含工作日名称、小时和分钟。格式"Tue:21:30",请忽略。格式无关紧要,只要时间包含 n 个工作日名称、小时和分钟即可。
-
hh是“12 小时小时值”,即 01-12。对于 21,您需要HH。 (但我强烈建议改用 java.time。)
标签: java date simpledateformat