如何在“中获取java日期”;压缩字节;格式?
我试图手动将论坛用户输入到smf数据库中,但似乎不知道如何以正确的格式获取当前日期,我发现这是一种称为“压缩字节”的东西如何在“中获取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)从中获取数字。如果我正确解释了您在注释中链接的规范,您可以使用字符串格式设置和解析的组合来获得所
有人能给我提供一些帮助吗?根据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