Android 将日期格式从字符串更改为日期和时间分隔

Android change date format from String to Date and Time separated

我正在从 API 2019-01-22T04:38:22Z 获取这种格式的日期,我希望它按照以下格式 31/01/201923:59 在日期和时间中分开。

我是 Java 的新手,所以无法弄清楚我应该如何以及使用哪种 class 或方法来制作它。我知道一点 SimpleDateFormat

如有任何建议或想法,我们将不胜感激。

尝试这行代码将字符串转换为日期并获取日期和时间

代码

  String dtStart = "2019-01-27T09:27:37Z";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    try {
        Date date = format.parse(dtStart);
        System.out.println(date);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm");

        String date1 = sdf.format(date);
        String time= sdf1.format(date);
        Log.e("check_date_time",""+date1+"=="+time);
    } catch (ParseException e) {
        e.printStackTrace();
    }

输出

2019/01/2709:27

希望对你有用

下面通过代码示例提供了一种更可靠的方法来完成此任务。

    String initialStringDate = "2019-01-27T09:27:37Z";
    Locale us = new Locale("US");
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", us);
    try {
        Date date = format.parse(initialStringDate);
        String stringDate = new SimpleDateFormat("yyyy/MM/dd", us).format(date);
        String stringTime = new SimpleDateFormat("HH:mm", us).format(date);

        String finalDateTime = stringDate.concat(" ").concat(stringTime);

        Log.i("Date_and_Time", "" + finalDateTime);
    } catch (ParseException e) {
        e.printStackTrace();
    }

注意:使用上面提供的代码,您甚至可以本地化您的日期和时间。