【问题标题】:Why he return 11 all the time ??? (btw. now is 16 h my local time)为什么他一直返回 11 ??? (之间。现在是我当地时间的 16 小时)
【发布时间】:2010-08-18 14:12:29
【问题描述】:
private void hour()
{
    Toast.makeText(this,String.valueOf(Calendar.HOUR_OF_DAY),Toast.LENGTH_LONG).show();
}

【问题讨论】:

  • 这里的编码和格式标准有帮助。在 Java 中,习惯上将常量全部大写,单词用下划线分隔。
  • 感谢 David 和 JRL,我会尽量遵守规则 :)

标签: android time calendar


【解决方案1】:

因为您刚刚解析了 HOUR_OF_DAY 的值,即 11。永远永远。

您应该创建一个 GregorianCalendar 实例,为其指定当前日期,然后使用 get(Calendar.HOUR_OF_DAY)

代码示例:

Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(new Date());
int hour = calendar.get(Calendar.HOUR_OF_DAY);

【讨论】:

  • 我以前犯过这种错误。当您发现错误时,可以在额头上拍一巴掌:)
  • 非常感谢 WarrenFaith :))
  • 这就是为什么我的手腕总是绑在桌子上:)
猜你喜欢
  • 2011-06-12
  • 2023-04-03
  • 2014-07-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-02
相关资源
最近更新 更多