我已经编写了显示当前时间的代码,但我的问题是它没有使用am或pm格式显示时间,它只是显示,例如,12:00。没有上午或下午
java.util.Calendar thetime = java.util.Calendar.getInstance();
int h = thetime.get(java.util.Calendar.HOUR_OF_DAY);
int m = thetime.get(java.util.Calendar.MINUTE);
System.out.println("the current time is"+ h +":"+m);
答案 0 :(得分:6)
尝试添加:
int a_p = thetime.get(java.util.Calendar.AM_PM);
String am_pm;
if(a_p==0)
am_pm = "AM";
else
am_pm = "PM";
然后在输出结尾添加am_pm
。
无论如何你应该更喜欢SimpleDateFormat,试着看here。
答案 1 :(得分:4)
您应该使用SimpleDateFormat:
String time = new SimpleDateFormat("h:mm a").format(new Date());
答案 2 :(得分:1)
您可以手动执行此操作,例如
String ampm = h > 12 ? "PM" : "AM";
// now print the variable ampm
甚至更好地使用SimpleDateFormat。请参阅此类'javadoc以了解如何配置它。这将花费5分钟第一次,但然后节省您的时间。
答案 3 :(得分:1)
由于您的servlet仅打印出值,因此最好使用DateFormat来设置如何打印值。
举个例子:
DateFormat.getDateInstance(DateFormat.SHORT, <put your locale here>);
有关详细信息,请参阅DateFormat class here。
答案 4 :(得分:1)
使用 calendar.get(Calendar.AM_PM)
如果当前时间在PM中则返回整数值1,否则返回0表示AM。 仔细阅读link ..
答案 5 :(得分:0)
使用DateFormatter以字符串格式显示时间。Here