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

我目前正在用Java编写拍卖程序,我正在努力计划截止日期,但是我的日期一直在以(7/04/2013 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())) 

@LeonardBrünings的回答是正确的方法。 这就是为什么你的原始代码是错误的方式……即使它有效。

Calendar.toString()的javadoc说明了这一点:

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

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