Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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_Smf Forum - Fatal编程技术网

如何在“中获取java日期”;压缩字节;格式?

如何在“中获取java日期”;压缩字节;格式?,java,smf-forum,Java,Smf Forum,我试图手动将论坛用户输入到smf数据库中,但似乎不知道如何以正确的格式获取当前日期,我发现这是一种称为“压缩字节”的东西 有人能给我提供一些帮助吗?根据IBM的SFM Wiki,“字节压缩日期格式”定义如下: 示例:8月31日。2014=0x01 14 244 C 在Java中,您可以使用Java.util.Calendar创建包含所有必需值的十六进制字符串,并使用Long.valueOf(…,16)从中获取数字。如果我正确解释了您在注释中链接的规范,您可以使用字符串格式设置和解析的组合来获得所

我试图手动将论坛用户输入到smf数据库中,但似乎不知道如何以正确的格式获取当前日期,我发现这是一种称为“压缩字节”的东西


有人能给我提供一些帮助吗?

根据IBM的SFM Wiki,“字节压缩日期格式”定义如下:

示例:8月31日。2014=0x01 14 244 C


在Java中,您可以使用
Java.util.Calendar
创建包含所有必需值的十六进制字符串,并使用
Long.valueOf(…,16)
从中获取数字。

如果我正确解释了您在注释中链接的规范,您可以使用字符串格式设置和解析的组合来获得所需内容。我选择使用字符串格式,因为尽管预期的输出是base-16数字,但它似乎将值编码为base-16数字中的base-10值

Calendar toPack = Calendar.getInstance(); 

int century = (toPack.get(Calendar.YEAR) - 1900) / 100; 
int year = toPack.get(Calendar.YEAR) % 100; 
int dayOfYear = toPack.get(Calendar.DAY_OF_YEAR); 

String packedDate = String.format("%02d%02d%03dC", century, year, dayOfYear);
int packed = Integer.parseInt(packedDate, 16); 

System.out.printf("0x%x%n", packed);
输出:

0x114238c

你在说什么?^我说的是用java为smf数据库条目获取正确格式的日期。(正如我在问题中所说的)IBM文档中是否有您不理解的内容?在Java或Simple Machines论坛中实现算法时有困难吗!=IBM CICS!!!!
0x114238c