如何用Instancio生成YYYYMMDD格式的字符串类型过去日期?
解决方案
你需要将生成的LocalDate对象转换为指定格式的字符串,因为你的birthdate字段是String类型而非日期类型。修改后的代码如下:
import java.time.format.DateTimeFormatter; import org.instancio.Instancio; import static org.instancio.Select.field; // ... Student student = Instancio.of(Student.class) .generate(field(Student::getBirthdate), gen -> gen.temporal() .localDate() .past() .map(date -> DateTimeFormatter.ofPattern("yyyyMMdd").format(date))) .create();
说明:
gen.temporal().localDate().past()负责生成一个过去的LocalDate实例- 通过
map()方法将生成的日期对象转换为yyyyMMdd格式的字符串,使用DateTimeFormatter.ofPattern("yyyyMMdd")来标准化日期格式 - 这样生成的字符串会完全匹配你的
birthdate字段要求的格式
内容的提问来源于stack exchange,提问作者MrWalterWhite
相关产品推荐
相关产品推荐

