问题描述
下面是我的代码.
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 应该给我
Calendar.HOUR is supposed to give me
public static final int HOUR 用于获取和设置的字段编号,指示早上的时间或下午.HOUR 用于 12 小时制 (0 - 11).中午和午夜用 0 表示,而不是到 12 点.例如,在晚上 10:04:15.250,HOUR 是 10.
public static final int HOUR Field number for get and set indicating the hour of the morning or afternoon. HOUR is used for the 12-hour clock (0 - 11). Noon and midnight are represented by 0, not by 12. E.g., at 10:04:15.250 PM the HOUR is 10.
无论我运行多少次代码,它总是给我相同的 unique_id.(101213),我机器上的当地时间是下午 1:30.我在这里做错了什么?
It doesnt matter how many times I run this code, it always gives me the same unique_id. (101213) and my local time on my machine is 1:30pm. What am I doing wrong here?
谢谢.
推荐答案
您的代码只是连接常量,Calendar 定义这些常量以识别其中的一些字段.要获取这些字段的值,请调用 Calendar.get() 并将常量标识符作为参数传递:
Your code is just concatenating constants, that the Calendar defines to identify some of it's fields. To get values of these fields, call Calendar.get() and pass the constant identifier as an argument:
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().
The above would work, but the result will be far from unique ID.
To get an ID uniquely identifying a point in time (with the precision of milliseconds), consider Calendar.getTimeInMillis().
这篇关于Java 日历总是显示相同的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)