我正在以这种格式获取日期:
[星期五2月28日00:00:00 GMT + 01:00 2020
我需要将此日期转换为yyyy-mm-dd
格式
为了获得这种格式转换,我正在如下操作:
String date = dateClicked.toString();
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
String newFormat = formatter.format(testDate);
System.out.println(".....dia pulsado..."+newFormat);
我在第String newFormat = formatter.format(testDate);
行遇到以下异常
这是例外消息:java.lang.NullPointerException: Attempt to invoke virtual method 'long java.util.Date.getTime()' on a null object reference
我猜错误在这里:new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
我已经在我这边测试过,此代码可以正常工作
import android.os.Bundle;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String date = "Fri Mar 28 00:00:00 GMT+01:00 2020";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String newFormat = formatter.format(testDate);
System.out.println(".....dia pulsado..."+newFormat);
}
}
这里是日志
I/System.out: .....dia pulsado...2020-03-28