DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'SSSX");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("Current date and time in GMT: " + df.format("2017-01-04"));
上面是我的代码,当我尝试将日期转换为 gmt
我得到一个错误:
线程“main”java.lang.illegalargumentexception中出现异常:无法在java.text.dateformat.format(dateformat)中将给定对象格式化为日期。java:310)在java.text.format.format(format。java:157)在sample.main(sample。java:24)
请指出我做错了什么。
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'SSSX");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("Current date and time in GMT: " + df.format(new Date()));
上面的代码工作正常,但我需要的东西,任何日期的工作。
当我尝试这个代码时:
try {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'SSSX");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("Current date and time in GMT: " + df.parse("2017-01-04"));
} catch(Exception e) {
e.printStackTrace();
}
我要走了 Unparseable date: "2017-01-04"
. 请告诉我怎么修
3条答案
按热度按时间wkftcu5l1#
试试看。。
enyaitl32#
下面的代码有助于更好地理解-您可以尝试取消注解注解行并比较结果。你对这整个街区感兴趣的是
gdf.parse(gmtFormat)
```Date date = new Date();
DateFormat idf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
idf.setTimeZone(TimeZone.getTimeZone("IST"));
DateFormat gdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
gdf.setTimeZone(TimeZone.getTimeZone("GMT"));
ndasle7k3#
当您有一个日期对象时,您可以根据需要格式化它:
如果您将日期作为字符串,还可以执行以下操作: