- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在当前时间上添加两个小时并以 24 小时格式表示。这是我的代码
public class Tester {
@Test
public void test() {
//for example i have entered time 12.00PM so it should add 2 hours and print 14.00
System.out.println(stringToDate("2015-10-16 12:00:03"));
}
public static Date stringToDate(String str) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = null;
try {
date = formatter.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY)+2);
date = calendar.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
}
预期输出
Fri Oct 16 14:00:03 IST 2015
但是我得到了Fri Oct 16 02:00:03 IST 2015
如果我使用时间“2015-10-16 11:00:03”
而不是“2015-10-16 12:00:03”
然后我得到正确的输出,那就是
"2015-10-16 13:00:03"
请谁能帮我解决这个问题
最佳答案
这是错误的:
calendar.add(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 2);
在本例中,您将当前小时数加上 2 小时。你应该使用:
calendar.add(Calendar.HOUR_OF_DAY, 2);
对于 24 小时格式:使用 HH
而不是 hh
。
关于Java Calendar.HOUR_OF_DAY 下午 2 点不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171003/
我在 Windows 和 Solaris 机器上运行相同的 Java 代码。有部分代码会产生不同的结果: Calendar cd = Calendar.getInstance(); int hour
一个简单的问题,但我找不到它: HOUR_OF_DAY 的范围是 0 到 23,还是 1 到 24? 我想要一个随机的 HOUR_OF_DAY,我需要吗: int randomHour
在 Debug模式下,我看到我正在解析的值等于“2015-09-01 22:00”。当我创建日历时,我发现 HOUR_OF_DAY 等于 22。但是,interval 等于 10,而不是 22。错误在
问题:您认为这是 java.util.Calendar 中的错误吗? 本地 (PDT) 时区的日历对象被实例化并分配零(纪元开始)日期。在将日历的毫秒、秒和分钟设置为零后,该值将按照预期保持不变。然而
我写了一段代码从日历对象中获取小时的值,但它返回了错误的结果。 mpleDateFormat sf = new SimpleDateFormat("hh:mm"); try {
我有这段代码: Calendar cal = Calendar.getInstance(); cal.setTime(pDatum); cal.set(Calendar.HOUR_OF_DAY, In
这个问题已经有答案了: How to set time zone of a java.util.Date? (12 个回答) 已关闭5 年前。 JVM 版本为 1.7。时区为 GMT+3,偏移 180
我试图在 jsinner 控件中以这种格式 hh:mm 显示时间 但我得到的是 12 小时而不是 24 小时 这是我的代码 我哪里错了 Date date = new Date(); SpinnerD
下面的java代码: Calendar calend = Calendar.getInstance(TimeZone .getTimeZone("Pacific/Fak
将数据从文本文件导入到 CSV 文件输出时出现以下错误。我检查了日期,没有发现日期有任何错误。谁能解释一下什么是 HOUR_OF_DAY 错误。 工作;- tFileInputdelimited --
我需要在当前时间上添加两个小时并以 24 小时格式表示。这是我的代码 public class Tester { @Test public void test() { //for ex
我正在尝试将我的时间(以分钟为单位)转换为 HH:MM。例如 418 分钟 = 6:58。我正在使用以下代码: long milli = PriemCas*60000; Calendar cale
我有一个关于 java 时区的棘手问题(至少对我来说)。我将从一个按预期工作的示例开始: TimeZone tz = TimeZone.getDefault(); SimpleDateFormat s
我在 cal.set(Calendar.HOUR_OF_DAY, 0); 方面遇到问题。如果我使用第一个 DST 天,此方法将返回前一天 23:00:00,而不是当天 00:00:00。 我的时区是巴
我是 Java 新手。如何定义 DAY_OF_WEEK HOUR_OF_DAY 类型的enum。我想使用日历对象。我不会创建自己的枚举。我想要相同的: public DAY_OF_WEEK fro
我正在使用以下代码尝试获取 unix 时间戳的 HOUR_OF_DAY (0-23),并将其转换为毫秒。时间戳“1296442971”转换为 Sun Jan 30 2011 22:02:51 GMT-
Calendar.HOUR 和 Calendar.HOUR_OF_DAY 有什么区别?何时使用 Calendar.HOUR 和 Calendar.HOUR_OF_DAY ?有时我很困惑 Calenda
我的代码 Calendar calendar = Calendar.getInstance(); thisHour = calendar.get(Calendar.HOUR_OF_DA
我正在阅读 date4j homepage在谈论 Java 的 Calendar 类的问题时,它指出了以下内容: Calendar has two items referring to the hou
当我解析 2014-10-06 12:00:00 时,我很惊讶为什么日历 HOUR_OF_DAY 在下面的示例中打印 0。 我明白如果 HOUR 打印 0,但 HOUR_OF_DAY 不应该打印 12
我是一名优秀的程序员,十分优秀!