以下代码未返回预期的输出。怎么了?
def a = new Test(new Date());
println a.getLogFormatDate()
class Test
{
String _dateTime;
static final String _logDateFormat = "E MMM dd HH:mm:ss zzz yyyy";
static final String _timeZoneUTC = "UTC";
Test(Date dateTime)
{
_dateTime = dateTime;
}
public String getLogFormatDate()
{
return _dateTime.format(_logDateFormat, TimeZone.getTimeZone(_timeZoneUTC));
}
}
预期输出:
2018年11月12日星期一14:10:46 UTC
实际输出:
E MMM dd HH:mm:ss zzz yyyy
答案 0 :(得分:1)
您已定义类型为_dateTime
的{{1}}类字段,因此您的String
会调用
getLogFormatDate
您期待的时间
String.format("E MMM dd HH:mm:ss zzz yyyy", TimeZone.getTimeZone("UTC"))
被呼叫。
将Date.format("E MMM dd HH:mm:ss zzz yyyy", TimeZone.getTimeZone("UTC"))
字段定义为_dateTime
,它将按预期工作。