Java 日期格式的月和日的固定长度?
有没有办法将Date对象的格式设置为固定的日和月长度,以便在列中保持良好的对齐? 例如: 15 May 2010 10 January 2010Java 日期格式的月和日的固定长度?,java,date,format,Java,Date,Format,有没有办法将Date对象的格式设置为固定的日和月长度,以便在列中保持良好的对齐? 例如: 15 May 2010 10 January 2010 import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class FormatDateCalendar { public static final String FORMAT_STRING = "%1$
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class FormatDateCalendar {
public static final String FORMAT_STRING = "%1$-3td %1$-9tB %1$tY";
public static void main(String[] args) {
Calendar c1 = new GregorianCalendar(2011, Calendar.FEBRUARY, 3);
Calendar c2 = new GregorianCalendar(2010, Calendar.MAY, 15);
Date today = new Date();
System.out.printf(FORMAT_STRING + "%n", c1);
System.out.printf(FORMAT_STRING + "%n", c2);
System.out.printf(FORMAT_STRING + "%n", today);
}
}
2010年5月15日
2010年1月10日
而不是
15 May 2010
10 January 2010
2010年5月15日
2010年1月10日
谢谢 看看这个类,它的format方法与String.format(…)相同,与System.out.printf类似
例如:
15 May 2010
10 January 2010
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class FormatDateCalendar {
public static final String FORMAT_STRING = "%1$-3td %1$-9tB %1$tY";
public static void main(String[] args) {
Calendar c1 = new GregorianCalendar(2011, Calendar.FEBRUARY, 3);
Calendar c2 = new GregorianCalendar(2010, Calendar.MAY, 15);
Date today = new Date();
System.out.printf(FORMAT_STRING + "%n", c1);
System.out.printf(FORMAT_STRING + "%n", c2);
System.out.printf(FORMAT_STRING + "%n", today);
}
}
谢谢我的要求是正确的,但字母的宽度仍然有问题,这会使某些字体的对齐错误。@Loc-如果您试图处理可变宽度字符的对齐,则无法使用纯字符串。您需要使用某种标记;e、 HTML片段或Swing布局。@Stephen:是的,在需要时,我想使日期部分垂直对齐。但是我不能使用HTML,因为它看起来很慢。我可以使用不同的标签来存储不同的部分,但如果列宽很小,则似乎太手工了,很难对文本进行换行。@Loc-也许你应该问一个新问题,这次要明确显示日期的内容以及你尝试过的内容。创建: