java - 日期转换但不符合预期输出

标签 java

String S = new SimpleDateFormat("yyyyMMdd").format(myDate);

myDate 中传递的日期是 2010 年 10 月 15 日(不是确切的格式),实际上是 java 中 Date 类型的时间戳。

但是字符串 S 中的输出是 20100115 并且不是 20101015 正如预期的那样。任何人都可以提供输入。我们将非常感谢您的帮助。

最佳答案

myDate 可能有问题。

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_MONTH,15);
    cal.set(Calendar.MONTH,9);
    cal.set(Calendar.YEAR,2010);

    Date date = new Date(cal.getTimeInMillis());    
    String S = new SimpleDateFormat("yyyy:MM:dd").format(date);
    System.out.println(S);

控制台显示:

2010:10:15

这是正确的。请注意,由于某种原因,月份从 0 (!) 开始索引,因此为 0-11(一月到十二月)。

关于java - 日期转换但不符合预期输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17988789/

相关文章:

java - Java Spark 中 "for"循环中某种类型的计数器

java - Reactor Flux 上的条件逻辑

java - 给予泛型的正确方法是什么?

java - 通过服务公开 JPA 实体

java - 通过java执行mp4box命令得到错误

java - 使用正则表达式在Java中提取字符串的特定部分

java - 如何对创建新对象的类进行单元测试

java - 有什么方法可以在距离约束布局处设置障碍或在没有约束的情况下向 View 添加边距?

java - 使用 IntelliJ 和 Git 切换分支

java - 如何使用 Picasso 保存图像而不需要加载时间?