Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:根据年份和日期生成唯一的数字_Java - Fatal编程技术网

Java:根据年份和日期生成唯一的数字

Java:根据年份和日期生成唯一的数字,java,Java,我是Java新手,希望得到一些关于我试图解决的问题的建议。我必须写一个方法,将生成一个唯一的数字 因此,在字符串中表示的唯一数字将有10个字符 #1. First 2 will represent the YEAR #2. Second 2 will represent the DAY OF YEAR #3. Last 6 will represent a INCREMENTING digit which will reset at 12 AM midnight. 3是我所困惑的。我不想使用任

我是Java新手,希望得到一些关于我试图解决的问题的建议。我必须写一个方法,将生成一个唯一的数字

因此,在字符串中表示的唯一数字将有10个字符

#1. First 2 will represent the YEAR
#2. Second 2 will represent the DAY OF YEAR
#3. Last 6 will represent a INCREMENTING digit which will reset at 12 AM midnight.
3是我所困惑的。我不想使用任何数据库或外部文件

这将从“000001”开始,并一直递增到晚上11:59 午夜钟声时,它将重置为“000001”

有没有一种有效的编码方法


我的应用程序是一个服务器,它将全天候运行,生成的数量基于连接的客户端。为增量计数器保留的6个字符已经足够好了,永远不会超过。

只需将计数器存储在应用程序中类的字段中。

您可以使用类中的静态变量作为计数器。因此,当每个客户端连接时,您可以增加静态int。您可以有另一个静态变量来保存“上次更新”日期。只需检查上次更新的日期,如果它与当前日期不同,您可以将计数器重置为00001。

这很简单!如何知道何时应该将其重置回“0”?全天(24小时)有1440分钟,因此如果字符串表示分钟,那么当它达到1440时,您将重置它。如果它代表秒,那么它将是86400秒。@donguy76如果它应该在午夜后重置,请保留另一个变量,该变量包含用于生成最后一个数字的天数。如果这种情况发生了变化,我们必须进入新的一天,因此计数器应该重置为0。服务器只是在一个实例中运行?生成的序列中是否存在漏洞有关系吗?调用服务中某个方法的每个客户端连接都会对其进行增量。它应该每秒自动增量还是应该调用某些东西来增量它?也许您可以解释一下您正试图用此实现什么。事实上,我不明白你为什么不使用现有的软件包。一年中有365或366天。“日期”字段的长度必须为3位数。