【发布时间】:2014-01-21 19:40:35
【问题描述】:
我有这个程序可以打印所需的format 中的数据。但我很难让它工作。
这是我的代码和输出:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class TestingStuff {
public static void main(String[] args){
Calendar calendar = Calendar.getInstance();
calendar = new GregorianCalendar(2014, 07, 18);
Date startDate = calendar.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yy");
String formatted = simpleDateFormat.format(startDate);
String result="";
String header2=String.format("%s %20s %20s %20s%n", "Account","Date","Hours","Skill");
result+=header2;
result+="-----------------------------------------------------------------------\n";
result+=String.format("summary %20s%n",formatted);
result+=String.format("Totabl Billable: %25s%n", 40);
result+=String.format("Total Non-Billable: %25s%n", 0);
result+=String.format("Total Hours %25s%n", 40);
System.out.println(result);
}
}
输出:
Account Date Hours Skill
-----------------------------------------------------------------------
summary 08/18/14
Totabl Billable: 40
Total Non-Billable: 0
Total Hours 40
预期输出:
Account Date Hours Skill
-----------------------------------------------------------------------
summary 08/18/14
Totabl Billable: 40
Total Non-Billable: 0
Total Hours 40
如您所见,这些数字并未相对于选项卡标题居中。我还在硬编码spaces 的数量,例如(%20s),我认为这不是正确的方法。有没有办法告诉
使用居中自动格式化?
【问题讨论】:
-
您是否尝试使用 \t 格式化您的字符串?它的“标签” .. 应该让你得到预期的输出。
-
@TomasBisciak:我试过
tab,但这是为标题提供了分隔,而不是为下面的行提供了分隔
标签: java date format formatter string.format