当前位置: 首页 > 面试题库 >

Java日历始终显示同一时间

单于阳
2023-03-14
问题内容

下面是我的代码。

public class TestCalendar {

public static void main(String[] args){
    int unique_id = Integer.parseInt("" + Calendar.HOUR + Calendar.MINUTE
            + Calendar.SECOND);

    System.out.println(unique_id);
}
}

Calendar.HOUR应该给我

public static final int HOUR
get和set的字段号,指示上午或下午的时间。HOUR用于12小时制(0-11)。中午和午夜用0而不是12表示。例如,在10:04:15.250
PM,小时是10。

不管我运行该代码多少次,它总是给我相同的unique_id。(101213),而我在计算机上的本地时间是下午1:30。我在这里做错了什么?

谢谢。


问题答案:

您的代码只是串联常量,Calendar定义这些常量以标识其中的某些字段。要获取这些字段的值,请调用Calendar.get()并将常量标识符作为参数传递:

public class TestCalendar {

public static void main(String[] args){
    Calendar c = Calendar.getInstance();
    int unique_id = Integer.parseInt("" + c.get(Calendar.HOUR) + c.get(Calendar.MINUTE)
            + c.get(Calendar.SECOND));

    System.out.println(unique_id);
}
}

上面的方法可以工作,但结果远非唯一ID。要获取唯一标识时间点的ID(精确到毫秒),请考虑Calendar.getTimeInMillis()



 类似资料:
  • 我使用了以下库作为日历,但它显示的星期的第一天是星期一,我想以星期日开始一天。 https://github.com/applandeo/material-calendar-view 我修改了相应的代码,但它仍然显示日期,因此星期一是第一天。

  • 我正在使用Java-Eclipse和oracle SGBD public DefaultTableModel getJoueurData(){

  • 我在本教程的帮助下制作了日历:http://droidwalk.blogspot.it/2012/11/android-calendar-sample.html ..但是这个日历从星期天开始,我想从星期一开始。。我试图改变价值观​​在函数中设置对象GregorianCalendar,但它不会给出所需的结果。本周从周一开始,但在某些月份,我们失去了第一周。我发现了一个类似的问题:从周一开始制作日历,

  • 问题内容: 当我以编程方式创建一个始终记为生日日历(类型)的日历事件时,我遇到了一个奇怪的问题,我不知道为什么会这样记录日历事件。 我使用的代码如下:Xamarin C# 请问有人有什么提示或想法可以指引我正确的方向吗? 提前致谢。 问题答案: 下面回答的问题是旧的,请参考Pkosta的答案,它提供了更准确的答案… 您必须将CalendarId值设置为3,而不是默认的生日日历1。例如 更改为 它为

  • 我开发了一个Android应用程序,提示日历应用程序编辑事件。 我使用打开日历。编辑并保存事件后,在中始终为0。 无论我在日历应用程序中单击“保存”还是“取消”,总是给出0。 另外,我需要从日历intent中获取数据,但是onActivityResult中的intent“data”也返回null。 有人能解释为什么会这样吗?有没有办法知道用户点击“保存”还是“取消”?

  • 我希望使用calendar对象显示日期。 ...和... 我面临的问题是,为什么以下输出中的出生日期会给我一条未知的、荒谬的长线: ID员工编号:123 员工姓名:明武 出生日期:java.util.GregorianCalendar[time=?, areFieldsSet=false, areAllFieldsSet=true, lenient=true, zone=sun.util.cale