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

从ZonedTimeDate到java.util.Date的字符串,没有月份和日期的名称[重复]

祁绪
2023-03-14
ZonedDateTime zdt = ZonedDateTime.now(ZoneId.systemDefault());
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "uuuu-MM-dd" ); 
String date_string = zdt.format(formatter);
System.out.println(date_string);//2021-08-23

现在如何将这个字符串2021-08-23转换为java.util.Date?我想让日期看起来和字符串一模一样...这是我尝试过的,但它不会让我的日期看起来像字符串

SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");
Date date = formatter1.parse(date_string); 

将以这种格式给我日期:Mon 8月23日00:00:00 EEST 2021...如何将字符串转换为日期并保持日期看起来像字符串?

共有1个答案

章振
2023-03-14
LocalDate.now().toString()

2021-08-23

最好指定所需/预期的时区,而不是隐式依赖于JVM当前的默认时区。

LocalDate.now( ZoneId.of( "Africa/Tunis" ) ).toString()

如果只需要日期,请使用localdate

LocalDate ld = myZonedDateTime.toLocalDate() ;
java.util.Date d = java.util.Date.from( myZonedDateTime.toInstant() );

请理解这些日期时间类都不是文本。它们有自己内部定义的日期时间值表示,而不是字符串

听起来,您只想要标准ISO 8601格式(YYYY-MM-DD)的文本作为仅限日期的值。在生成/解析字符串时,java.time类默认使用标准的ISO 8601格式。因此不需要定义自定义格式模式。

String output = myZonedDateTime.toLocalDate().toString() ;

你问:

你的要求毫无意义。

java.util.date对象是日期时间对象,而不是文本,也不是stringjava.util.date对象没有“format”。

同样,java.time.ZonedDateTime对象是日期时间对象,而不是文本,也不是Stringjava.time.ZonedDateTime对象没有“format”。

 类似资料:
  • 问题内容: 我正在使用哪种格式返回日期: 我想将其转换为以下格式: 用Python做到这一点的最佳方法是什么? 问题答案: 在Python中,这是使用格式字符串的简单练习: 见该表的所有格式预选赛的完整描述。 在这里,我使用此方法将您的datepicker.js字符串转换为Python datetime对象。然后,我使用该方法使用所需的格式将该对象打印为字符串。最初,这些格式字符串将很难记住,但是

  • 我有像“2020年4月20日”这样的字符串。我想将字符串转换为DateTime()。 我面临的问题是DateTime.parse()不接受月份名称。

  • 问题内容: 如何从JavaScript中的日期对象生成月份名称(例如:Oct / October)? 问题答案: 现在可以使用ECMAScript国际化API来做到这一点: 使用月份的全名,简称和更短的版本(例如字母语言中的第一个字母)。 你可以将语言环境从浏览器更改为任何你喜欢的语言环境(例如),它将使用该语言/国家/地区的正确名称。 使用时,你每次必须传递语言环境和选项。如果要在多个不同的日期

  • 我有一个JSON对象,它有几个日期,例如:15/12/2005或14/12/2012。 我需要将月份和日期与今天的月份和日期进行比较;年份无关紧要。我正在这样做: 这会选择日期,但返回2000-12-15。我只想要日期和月份。 什么时候会比较下一个方法 虽然当前日期匹配,但测试不通过。

  • 问题内容: 我是Java新手。我正在尝试将日期从字符串转换为MMM yyyy格式(2016年3月)。我试过了 一切正常。但是当我使用 它不起作用。帮帮我,如何解决这个问题。 问题答案: 您的格式必须符合您的输入 对于 格式应为(仅使用第二个对象) 完整答案 使用 java-8

  • 问题内容: 如何使用sql在sql server中获取整个月份的名称? 我找不到使用或的方法。 基本上,我需要这样的格式: 2009年4月1日 。 问题答案: 或不带逗号的日期在日期和年份之间,可以使用以下命令