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