我想将Java. util. date对象转换为Java中的字符串。
格式为2010-05-30 22:15:52
我想将Java. util. date对象转换为Java中的字符串。
格式为2010-05-30 22:15:52
当前回答
最简单的使用方法如下:
currentISODate = new Date().parse("yyyy-MM-dd'T'HH:mm:ss", "2013-04-14T16:11:48.000");
“yyyy-MM-dd'T'HH:mm:ss”是读取日期的格式
输出:太阳4月14日16:11:48 est 2013
注:HH vs HH —HH表示24小时的时间格式 - hh为12h时间格式
其他回答
Format formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = formatter.format(date);
public static void main(String[] args)
{
Date d = new Date();
SimpleDateFormat form = new SimpleDateFormat("dd-mm-yyyy hh:mm:ss");
System.out.println(form.format(d));
String str = form.format(d); // or if you want to save it in String str
System.out.println(str); // and print after that
}
下面是使用新的Java 8 Time API格式化遗留的Java .util. date的示例:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z")
.withZone(ZoneOffset.UTC);
String utcFormatted = formatter.format(date.toInstant());
ZonedDateTime utcDatetime = date.toInstant().atZone(ZoneOffset.UTC);
String utcFormatted2 = utcDatetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z"));
// gives the same as above
ZonedDateTime localDatetime = date.toInstant().atZone(ZoneId.systemDefault());
String localFormatted = localDatetime.format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
// 2011-12-03T10:15:30+01:00[Europe/Paris]
String nowFormatted = LocalDateTime.now().toString(); // 2007-12-03T10:15:30.123
DateTimeFormatter的优点是它可以有效地缓存,因为它是线程安全的(不像SimpleDateFormat)。
预定义格式符和模式符号引用的列表。
学分:
如何解析/格式化日期与LocalDateTime?(Java 8)
Java8 java.util.Date转换为java.time.ZonedDateTime
将即时格式化为字符串
java 8 ZonedDateTime和OffsetDateTime之间的区别是什么?
在普通java中可选的一行程序:
String.format("The date: %tY-%tm-%td", date, date, date);
String.format("The date: %1$tY-%1$tm-%1$td", date);
String.format("Time with tz: %tY-%<tm-%<td %<tH:%<tM:%<tS.%<tL%<tz", date);
String.format("The date and time in ISO format: %tF %<tT", date);
这使用Formatter和相对索引,而不是SimpleDateFormat不是线程安全的,顺便说一句。
稍微重复一点,但只需要一个陈述。 这在某些情况下可能很方便。
Date date = new Date();
String strDate = String.format("%tY-%<tm-%<td %<tH:%<tM:%<tS", date);