我用CSV写作,我的日历是价值倍增......我无法弄清楚问题。 PS:金额为1.000.000或10.000.000。
public static void CSV(String path, int amount) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
c.set(1980, 01, 01);
for (; set.size() < amount;) {
c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) + 2);
set.add(c.getTime());
}
Iterator<Date> it = set.iterator();
for (int i = 0; i < amount; i++) {
csvWriter.append(dateFormat.format(it.next()));
}
...
}
嗯,错误是上午/下午(1-12)的小时。 感谢@Teemu。
答案 0 :(得分:1)
我认为你的意思是&#34;价值倍增&#34;由此同时出现两次。原因是您的日期格式化程序:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
您将小时格式设为'hh'
。这意味着格式化日期为Hour in am/pm (1-12)。所以两个时间值实际上是唯一的,一个是AM,另一个是PM。您没有在SimpleDateFormat中提供AM / PM标记,这就是两个时间值看起来相同的原因。
如果您想区分AM / PM标记,请将格式更改为:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aaa");
或者另一种方法是以0-23格式格式化小时
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
不确定我的假设是否正确,但我希望这会有所帮助。