独特的日期值

时间:2015-11-12 22:09:13

标签: java list csv random

我用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。

1 个答案:

答案 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");

不确定我的假设是否正确,但我希望这会有所帮助。