java - 如何将参数的日期转换为日期格式 yyyyMMdd

标签 java date

我想像这样将控制台保存到.txt中

Data_Bank_yyMMdd.txt

每次运行应用程序时。

以下是我根据当前时间保存控制台的方法:

SimpleDateFormat dtf = new SimpleDateFormat("yyMMdd");
Date date = new Date();

System.setOut(new PrintStream(new FileOutputStream("Data_Bank_" + dtf.format(date) + ".txt")));

但是,当我将运行配置参数与

2020-01-24

我也希望它自动格式化为 yyMMdd 。不像

this (the first one)

有人知道怎么做吗???无论如何,谢谢..

最佳答案

如果你可以使用Java 8或更高版本,那么建议使用 java.time 用于日期和时间的操作。

您可以使用 LocalDateDateTimeFormatter 解决您的问题:

public static void main(String[] args) {
    // get the date of today
    LocalDate today = LocalDate.now();
    // and parse a given date with a 
    LocalDate someDate = LocalDate.parse("2020-01-24");

    // define a formatter using your desired date pattern
    DateTimeFormatter dtfShort = DateTimeFormatter.ofPattern("yyMMdd");

    // print the dates using a built-in formatter
    System.out.println("[ISO]\t" + today.format(DateTimeFormatter.ISO_LOCAL_DATE)
                    + "\t" + someDate.format(DateTimeFormatter.ISO_LOCAL_DATE));
    // print the dates using your custom formatter
    System.out.println("[Short]\t" + today.format(dtfShort)
                    + "\t\t" + someDate.format(dtfShort));
}

输出是这样的:

[ISO]   2020-01-22  2020-01-24
[Short] 200122      200124

应该易于用于文件输出,这应该使用 java.nio 来完成 如今。

关于java - 如何将参数的日期转换为日期格式 yyyyMMdd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59854631/

相关文章:

java - 如果失败则在给定时间内执行任务

java - Facebook 登录按钮在点击时导致应用程序崩溃

sql - PostgreSQL - 创建表并设置特定的日期格式

python - 如何让 Python 从日期中提取工作日?

javascript - 使用 parse javascript sdk 解析查询以按月和年获取记录计数

java - 将 joda.time.DateTime 转换为 java.sql.Date 并保留时区

java - storm 0.9.0.1 与 Netty 的 supervisor 通信

java - java中toString()有什么用

Javascript 到 Java Applet 未捕获类型错误 : Object #<HTMLAppletElement> has no method

java - 应该使用什么模式来解析 java.util.Date 的 toString 返回的日期字符串?