当前位置: 首页 > 知识库问答 >
问题:

Java日期更改格式[副本]

东郭思远
2023-03-14
for(Date date : dates){
    DateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
    String formatterDate = formatter.format(date);
    Date d = formatter.parse(formatter.format(date));                      
}

但这对d对象没有任何影响,它还是用旧格式的,不能真正理解它为什么会那样。

共有1个答案

乔伯寅
2023-03-14

请尝试将两个概念分开:您的数据和向用户显示数据(或者为其他目的设置格式,如包含在JSON中)。包含值7的int可以显示为(格式化为)7、07、007或+7,同时仍然只包含相同的值而不包含任何格式化信息-格式化位于int之外。同样,日期包含一个时间点,它可以显示为(格式化为)“2017年6月1日,12:46:01.169”、“2017/06/01”或“2017年6月1日”,同时仍然保持相同的值,而没有任何格式化信息--格式化位于日期之外。

根据您的需求,一种选择是将日期存储为date(或者更好的是,将日期存储为现代日期和时间类之一的实例,如localdate)并保留一个格式化程序,以便在每次需要将其显示给用户时对其进行格式化。如果这不起作用,并且需要以特定格式存储日期,那么将其存储为字符串

现在我一直在评论中抱怨使用较新的Java日期和时间类,所以不向您展示它们的工作可能是不公平的。该问题尝试将格式设置为yyyy-mm-dd,我们可以通过下面的代码来实现。

    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("uuuu/MM/dd");
    for (LocalDate date : localDates) {
        String formatterDate = date.format(dateFormatter);
        System.out.println(formatterDate);
    }
2017/05/23
2017/06/01
 类似资料:
  • 问题内容: 我试图改变对象的格式,我试图以这种方式做到这一点: 但这对对象没有任何影响,仍然是旧格式,无法真正理解为什么会这样。 问题答案: 请尝试将两个概念区分开:您的数据和向用户呈现的数据(或用于其他目的的格式设置,例如包含在JSON中)。的保持值7可以表示为(格式化成)7,07,007或7,同时仍保持刚好相同的值而没有任何格式化信息- 外的格式化谎言。同样,a 具有一个时间点,它可以表示为(

  • 我有Date对象的格式 我是怎么做到的?。 我试着用这个代码 当我试着做一个测试时,我会得到这样的结果: 我的问题是在sql将java.util.date更改为java.sql.date时出现的 我解决了这个问题,所以: 和测试:

  • 问题内容: 我需要使用Java更改日期格式 问题答案: 如何使用从一种日期格式转换为另一种日期格式:

  • 我需要按照格式解析日期,但它没有很好地工作。 我需要日期对象在07/06/2013格式,即使日期是任何格式。但parse方法总是在2013年6月7日00:00:00 PKT星期五返回。

  • 我要在数据库中输入任务的开始日期和截止日期。但是保存数据库的格式是这样的:Tue Apr 15 13:46:38 BST 2014 I want in yyyy-MM-dd格式。 这是我用来编写数据库中数据的代码: ----------形式---------