Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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_Eclipse - Fatal编程技术网

在Java中向大字符串添加前导零

在Java中向大字符串添加前导零,java,eclipse,Java,Eclipse,我目前正在用Java制作一个拍卖程序,我正在努力确定截止日期,但是我的日期一直是2013年4月7日11:22,当这是一个一位数的日期时,有没有办法使用String.format将前导零添加到此日期 String timeOne = Server.getDateTime(itemArray.get(1).time).toString() 当我尝试将其子字符串时,它会给我带来一个问题,并且长度小于17个字符 提前谢谢,詹姆斯。只需使用SimpleDateFormat即可 import java.t

我目前正在用Java制作一个拍卖程序,我正在努力确定截止日期,但是我的日期一直是2013年4月7日11:22,当这是一个一位数的日期时,有没有办法使用String.format将前导零添加到此日期

String timeOne = Server.getDateTime(itemArray.get(1).time).toString()
当我尝试将其子字符串时,它会给我带来一个问题,并且长度小于17个字符


提前谢谢,詹姆斯。

只需使用SimpleDateFormat即可

import java.text.SimpleDateFormat;

Calendar timeOne = Server.getDateTime(itemArray.get(1).time)

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm")

System.out.println(sdf.format(timeOne.getTime()))

@伦纳德·布鲁宁斯的答案是正确的。这就是为什么你的原始代码是错误的。。。即使成功了

javadoc for Calendar.toString说:

返回此日历的字符串表示形式。此方法仅用于调试目的,并且返回字符串的格式可能因实现而异


基本上,您使用toString的目的是javadoc说您不应该这样做的。即使您调整了toString的输出,代码也很可能很脆弱。JVM的变化可能会破坏它。更改区域设置可能会破坏它。

您可以添加代码吗?我猜您正在使用SimpleDataFormat或类似的格式来设置日期。如果是这样,请使用正确的格式,该格式始终以两位数返回日期。对于SimpleDataFormat:dd,Server.getDateTime的返回类型是什么?日期和时间存储在日历项中。但是,当我从calendar对象获取时间时,它返回的时间不带前导零。不要尝试解析日历的toString表示形式。从-返回此日历的字符串表示形式。此方法仅用于调试目的,返回字符串的格式可能因实现而异。我目前正在尝试执行此操作:networkOutput.printlnsdf.formattimeOne;但是我得到了一个错误:线程主java.lang.IllegalArgumentException中的异常:无法将给定对象格式化为日期请确保在timeOne、sdf.formattimeOne.getTime中调用日历上的getTime