代码之家  ›  专栏  ›  技术社区  ›  Code Lover

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

  •  0
  • Code Lover  · 技术社区  · 7 年前

    我正在从API获取此格式的日期 2019-01-22T04:38:22Z ,我希望它以日期和时间分隔,格式如下 31/01/2019 23:59 .

    我是JavaNeXi,所以无法找出如何使用和使用哪个类或方法。我对 SimpleDateFormat

    任何建议或想法都会受到赞赏。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Mohammad Naim Dahee    7 年前

    下面通过一个代码示例提供了一种更健壮的完成此任务的方法。

        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();
        }
    

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

        2
  •  2
  •   white hills    7 年前

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

    代码

      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年1月27日09:27

    我希望它对你有用