Преобразование даты из одного формата в другой вызывает исключение - PullRequest
0 голосов
/ 12 февраля 2020

Я получаю дату в этом формате:

Пт 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");

1 Ответ

2 голосов
/ 12 февраля 2020

Я проверял на моей стороне, этот код работает отлично

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
...