有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从字符串解析日期并保持其格式?

我有这个代码来将字符串转换成日期。但结果日期总是另一种格式

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm");
        try {
            String dateString  = "18/01/2013 11:59";
            dateTest = format.parse(dateString);
            System.out.println(dateTest); //output: Tue Jan 18 11:59:00 GMT 2013
           }

如何使dateTest的格式与原始格式相同


共 (5) 个答案

  1. # 1 楼答案

    都是java。util。日期和java。sql。日期存储秒和年,这就是为什么在打印dateTest时会看到它们。如果要以您提供的格式(dd/MM/yyyy HH:MM)打印日期,只需格式化日期即可

    Date dateTest;      
    SimpleDateFormat desiredDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
    
    try
    {
        String dateString  = "18/01/2013 11:59";
        dateTest = desiredDateFormat.parse(dateString);
    
        System.out.println(desiredDateFormat.format(dateTest)); //output: 18/01/2013 11:59
    }
    catch (Exception ex)
    {
        //do something
    }
    
  2. # 2 楼答案

    使用与解析日期相同的SimpleDataFormat格式化日期

  3. # 3 楼答案

    这个

    System.out.println(format.format(dateTest));
    

    我会做好的。您可以使用SimpleDateFormatformat()方法以与输入相同的方式格式化输出

  4. # 4 楼答案

    输出时,请使用:

    System.out.println(format.format(dateTest));

  5. # 5 楼答案

    不能,因为日期没有“格式”

    如果需要,您可以创建自己的日期类,该类包含内置格式,但这会很麻烦

    通常的方法是在打印日期时格式化日期

     System.out.println(format.format(dateTest));