You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Java中的日期时间字符串转换为指定日期格式?

没问题,这事儿好办!我来给你两种靠谱的解决方案,分别适配不同版本的Java环境~

Java 8+ 推荐方案(线程安全,更简洁)

Java 8引入的新日期时间API(java.time包)是目前的首选,它解决了旧API的线程安全问题,用法也更清晰:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateConversionExample {
    public static void main(String[] args) {
        String sDate = "2018-01-17 00:00:00";
        
        // 定义输入日期的格式
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 将字符串解析为LocalDateTime对象
        LocalDateTime dateTime = LocalDateTime.parse(sDate, inputFormatter);
        
        // 定义目标输出格式
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
        // 格式化为想要的字符串
        String formattedDate = dateTime.format(outputFormatter);
        
        System.out.println(formattedDate); // 输出结果:17-01-2018
    }
}

关键说明:

  • yyyy代表4位年份,MM是2位月份,dd是2位日期,HH:mm:ss对应时分秒;
  • 新API的DateTimeFormatter和LocalDateTime都是线程安全的,适合在多线程场景下使用。
Java 7及以下 兼容方案

如果你的项目还在使用Java 7或更早版本,可以用传统的SimpleDateFormat来实现,但要注意它不是线程安全的,不要在多线程环境下共享同一个实例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class OldDateConversionExample {
    public static void main(String[] args) throws ParseException {
        String sDate = "2018-01-17 00:00:00";
        
        SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 解析字符串为Date对象
        Date date = inputFormat.parse(sDate);
        
        SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy");
        // 格式化为目标字符串
        String formattedDate = outputFormat.format(date);
        
        System.out.println(formattedDate); // 输出结果:17-01-2018
    }
}

注意事项:

  • 如果需要在多线程中使用,建议每次使用都新建SimpleDateFormat实例,或者通过ThreadLocal来保证线程安全。

内容的提问来源于stack exchange,提问作者user9228823

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:30:50