如何将“2011-10-25T13:00:00Z”字符串格式化为日期和时间
我使用简单的日期格式类
SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd");
但它只给出了日期值。不是时间价值
请帮我解决这个问题
答案 0 :(得分:6)
这是因为"yyyy-MM-dd"
仅提到年(yyyy
),月(MM
)和日期(dd
)。如果您需要小时和分钟,请尝试添加hh:mm
。
示例:强>
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd hh:mm");
System.out.println(sim.format(new Date())); // prints "2011-10-27 01:56"
找到格式字符串及其部分的完整文档here。该文档包括以下示例:
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
- 2001-07-04T12:08:56.235-0700
也许这就像你正在寻找的那样。
答案 1 :(得分:6)
使用格式"yyyy-MM-dd'T'HH:mm:ss'Z'"
解析此日期格式。有关详细信息,请参阅SimpleDateFormat的文档。代码看起来像这样
String dateStr = "2011-09-19T15:57:11Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'";
Date date = new SimpleDateFormat(pattern).parse(dateStr);
答案 2 :(得分:0)
var date=new Date();
date.toString();
var t=date.getFullYear()+"-"+date.getMonth()+"-"+date.getDate()+"T"+date.getHours()+":"+date.getMinutes()+"."+date.getSeconds();
var t;
输出:2016-1-22T23:20.48