我从一个JSON API得到一个日期,看起来像这个“2018-04-10T04:00:00.000Z”。我想转换它,以获得一个日期或字符串对象,并获得类似"01-04-2018"它的"dd-MM-YYYY"。我怎么能做到呢?
使用日期模式yyyy-MM-dd'T'HH:MM:ss。SSS'Z'
和Java 8
String string = "2018-04-10T04:00:00.000Z";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
LocalDate date = LocalDate.parse(string, formatter);
System.out.println(date);
更新:26岁前使用Joda时间
String string = "2018-04-10T04:00:00.000Z";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
LocalDate date = org.joda.time.LocalDate.parse(string, formatter);
应用程序内/构建。gradle文件,像这样添加-
dependencies {
compile 'joda-time:joda-time:2.9.4'
}
其思想是定义两种格式:一种用于输入格式,另一种用于输出格式。使用输入格式化程序进行解析,然后使用输出格式化程序进行格式化。
除了后面的Z
,您的输入格式看起来非常标准。无论如何,让我们来处理这个问题:“yyyy-MM-dd'T'HH:MM:ss.SSS'Z'
。尾随的'Z'
是有趣的部分。通常这里有时区数据,比如-0700
。所以模式应该是。。。Z
,即没有撇号。
输出格式更简单:“dd-MM-yyyy”
。注意小的y
-s。
下面是示例代码:
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse("2018-04-10T04:00:00.000Z", inputFormatter);
String formattedDate = outputFormatter.format(date);
System.out.println(formattedDate); // prints 10-04-2018
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = inputFormat.parse("2018-04-10T04:00:00.000Z");
String formattedDate = outputFormat.format(date);
System.out.println(formattedDate); // prints 10-04-2018
问题内容: 我是android studio和java开发的新手。 我想解析这个日期: ,这是我从哈希映射字符串中获得的。 我只想在日期上显示日期。 问题答案: 您可以像这样使用子字符串 这会将您字符串中的所有字符从0拉到10,并将其另存为新字符串。 在这种情况下,将返回“ 2017-04-26”
如何转换字符串, “星期五 九月 22 2017 15:38:22 GMT 0630” 在 go. 谢谢,亚历克斯
问题内容: 我有一个字符串‘2009-06-24 09:52:43.000’,我需要将其插入到表的DateTime列中。 但我不在乎时间,只想将其插入为2009-06-24 00:00:00.000 如何在T-SQL中做到这一点? 问题答案: 对于SQL Server 2005及以下版本: 对于SQL Server 2008及更高版本:
我在字符串中获取日期,我想将其转换为给定的日期格式。任何人都可以指导我该怎么做? 我得到这样的日期,我想把它转换成这个格式。 是每个月的默认值。
问题内容: 我在mysql中使用NOW()获取当前日期和时间。我想将日期值转换为varchar并将其与另一个字符串连接。我该怎么做? 问题答案: 使用DATE_FORMAT()