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

如何在Java的sellingAnimals方法中传入YYYY-MM-DD格式的当前日期?

如何给setSellingDate传入YYYY-MM-DD格式的当前日期?

嘿,我刚好处理过类似的需求,给你两种实用的方案参考:

方案一:直接在调用处生成格式后的日期(无需额外函数)

如果不想额外写函数,完全可以直接在调用setSellingDate()的时候,用Java的日期API生成符合格式的字符串传进去。从Java 8开始,官方推荐用java.time包下的新日期类,比旧的Date/Calendar好用太多,还能避免线程安全问题:

修改你的代码如下:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public static void sellingAnimals(int animalschoosen) {
    // 定义固定的日期格式器
    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    // 获取当前日期并格式化为指定字符串
    String formattedCurrentDate = LocalDate.now().format(dateFormatter);
    // 传入setSellingDate方法
    pets.get(animalschoosen).setSellingDate(formattedCurrentDate);
}

这里要注意:你需要确认setSellingDate()方法的参数类型是String。如果它原本设计为接收LocalDate对象,那更简单——直接传LocalDate.now()就行,不需要做字符串格式化。

方案二:封装成工具函数(复用性更高)

如果这个YYYY-MM-DD格式的日期在项目里多个地方都要用,把生成逻辑封装成工具函数会更省心,避免重复造轮子:

先写一个静态工具方法(可以放在专门的工具类里,比如DateUtils):

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateUtils {
    // 全局复用的格式器,避免重复创建实例
    private static final DateTimeFormatter YYYY_MM_DD_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");

    public static String getCurrentDateAsYyyyMmDd() {
        return LocalDate.now().format(YYYY_MM_DD_FORMATTER);
    }
}

然后在你的业务方法里直接调用:

public static void sellingAnimals(int animalschoosen) {
    pets.get(animalschoosen).setSellingDate(DateUtils.getCurrentDateAsYyyyMmDd());
}

这样以后其他地方需要同样格式的日期,直接调用这个工具方法就好,维护起来也方便。

补充:Java 8之前的兼容方案

如果你的项目还在使用Java 8之前的版本,只能用SimpleDateFormat,但要注意它不是线程安全的,多线程场景下不要共用同一个实例:

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

public static void sellingAnimals(int animalschoosen) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String currentDate = sdf.format(new Date());
    pets.get(animalschoosen).setSellingDate(currentDate);
}

不过还是强烈建议升级到Java 8及以上版本,用java.time包的API,既安全又简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:41:43