将日期从一种格式转换为另一种格式会导致异常

问题描述 投票:0回答:1

我正在以这种格式获取日期:

[星期五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");

android simpledateformat
1个回答
0
投票

我已经在我这边测试过,此代码可以正常工作

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
© www.soinside.com 2019 - 2024. All rights reserved.