作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想以 AM/PM 格式显示时间。示例:上午 9:00我也想进行加减运算。我的 Activity 将从上午 9:00 开始。我想添加分钟以获取结果计划事件。除了创建自定义 Time 类之外,我该怎么做?
上午 9:00 开始添加 45 分钟,添加后开始时间上午 9:45
最佳答案
以 SimpleDateFormat
开头,这将允许您解析和格式化时间值,例如...
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a");
try {
// Get the start time..
Date start = sdf.parse("09:00 AM");
System.out.println(sdf.format(start));
} catch (ParseException ex) {
ex.printStackTrace();
}
有了这个,您就可以使用 Calendar
来操作日期值的各个字段...
Calendar cal = Calendar.getInstance();
cal.setTime(start);
cal.add(Calendar.MINUTE, 45);
Date end = cal.getTime();
把它们放在一起......
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a");
try {
Date start = sdf.parse("09:00 AM");
Calendar cal = Calendar.getInstance();
cal.setTime(start);
cal.add(Calendar.MINUTE, 45);
Date end = cal.getTime();
System.out.println(sdf.format(start) + " to " + sdf.format(end));
} catch (ParseException ex) {
ex.printStackTrace();
}
输出 09:00 AM 到 09:45 AM
已更新
或者您可以使用 JodaTime
...
DateTimeFormatter dtf = new DateTimeFormatterBuilder().appendHourOfDay(2).appendLiteral(":").appendMinuteOfHour(2).appendLiteral(" ").appendHalfdayOfDayText().toFormatter();
LocalTime start = LocalTime.parse("09:00 am", dtf);
LocalTime end = start.plusMinutes(45);
System.out.println(start.toString("hh:mm a") + " to " + end.toString("hh:mm a"));
或者,如果您使用的是 Java 8,新的日期/时间 API...
DateTimeFormatter dtf = new DateTimeFormatterBuilder().appendPattern("hh:mm a").toFormatter();
LocalTime start = LocalTime.of(9, 0);
LocalTime end = start.plusMinutes(45);
System.out.println(dtf.format(start) + " to " + dtf.format(end));
关于java - 如何以 AM/PM 格式显示时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051149/
我是一名优秀的程序员,十分优秀!