-1

我需要从“2012-07-15 17:00 GMT”这样的字符串中删除“GMT”。尝试使用此代码,但 testDate 返回 null。任何人都可以帮忙吗?

谢谢

    String date = "2012-07-15 17:00 GMT";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Date testDate = null;
        try {
            testDate = sdf.parse(date);
        }catch(Exception ex){
            ex.printStackTrace();
        }
4

2 回答 2

2

这会有帮助吗?

String date = "2012-07-15 17:00 GMT";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm z");
Date testDate = null;
try {
    testDate = sdf.parse(date);
}catch(Exception ex){
    ex.printStackTrace();
}
System.out.println(testDate);

sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
date = sdf.format(testDate); 
System.out.println(date);
于 2012-07-15T16:27:02.947 回答
0

既然您显然是从 String 开始的,为什么不直接切断最后四个字符,例如 String.substring() 呢?

date = date.substring(0, date.length() - 4);

您还可以确认" GMT"存在:

int index = date.indexOf(" GMT");
if(index > -1)
    date = date.substring(0, index);

如果您不更改日期的格式,则无需使用额外的 SimpleDateFormat 和 Date 类。

于 2012-07-15T16:28:08.483 回答