Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将localDateTime转换为'dd/MM/yyyy'格式?_Java_Date - Fatal编程技术网

Java 如何将localDateTime转换为'dd/MM/yyyy'格式?

Java 如何将localDateTime转换为'dd/MM/yyyy'格式?,java,date,Java,Date,将localDateTime转换为dd/MM/yyyyy 以下是我正在使用的方法: public static Date localDateTimeToDateWithSlash(LocalDateTime localDateTime) { if(localDateTime == null) return null; DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); try {

localDateTime
转换为
dd/MM/yyyyy

以下是我正在使用的方法:

public static Date localDateTimeToDateWithSlash(LocalDateTime localDateTime) {
    if(localDateTime == null)
        return null;
    DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    try {
        return format.parse(localDateTime.format(slashDateFormater));
    }
    catch (Exception e) {
        return null;
    }
}

它返回一个日期,但格式为
2017-12-01T01:00
,但我需要它的格式为
dd/MM/yyyyy

format()
执行的日期格式设置返回一个具有预期格式的字符串,但在您使用
parse()解析它时返回该字符串
由于
日期
不是为保存特定格式而设计的,因此您在输出日期时看到的是
日期对象的
toString()
表示。

日期不包含特定格式;有默认的(可排序的)ISO格式,如2017-12-19T12:55,由
toString()
调用。在本例中,返回格式正确的日期字符串

public static String localDateTimeToDateWithSlash(LocalDateTime localDateTime) {
    return DateTimeFormatter.ofPattern("dd/MM/yyyy").format(localDateTime);
}

Date和SimpleDataFormat属于“老”一代,在一段时间内仍将大量使用。但是应该尽量减少它们的使用。

请参见:您好,这个变量在哪里声明为slashdateformatter?你回来的那个。还有一件事,可以使用LocalDate而不是LocalDateTime作为传入参数吗?我想这会解决你的问题。干杯
日期的可能重复项
不能有格式。只是时间的一点。请参阅示例。不要将旧的遗留日期时间类与现代的java.time类混合使用。time类完全取代了旧类。两个完全独立的框架。让包名作为您的指南。