带有 Joda 构造函数的 LocalDate 表示 The constructor LocalDate(int, int, int) is not visible
LocalDate with Joda constructor says The constructor LocalDate(int, int, int) is not visible
根据 Joda 中的文档:
public LocalDate(int year,
int monthOfYear,
int dayOfMonth,
Chronology chronology)
应该采取上面我做的。我试图将 Chronology 设置为 null 但出现以下错误:
The constructor LocalDate(int, int, int, null) is undefined
但是我传递了正确的值,但据我了解,时间顺序为空意味着默认时区中的 ISOChronology。
因此,如何传递三个正确的 Integer 值并正确使用构造函数?
if (cit.hasNext()) {
cell = cit.next();
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
if (DateUtil.isCellDateFormatted(cell))
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String cellValue = sdf.format(cell.getDateCellValue());
//System.out.println(cellValue);
//bufferDate is getting mm/dd/yyyy from excel cell
String[] dateSpliter = cellValue.split("/");
int month= Integer.parseInt(dateSpliter[0]);
int day= Integer.parseInt(dateSpliter[1]);
int year= Integer.parseInt(dateSpliter[2]);
_date = new LocalDate(year,month,day,null);
po.setDate(_date);
}
在我看来,您好像导入了错误的 class。
Java 8 java.time.LocalDate class 没有 public 构造函数,但它确实有一个私有构造函数,它接受三个 int
值。我认为这个 class 是你错误导入的,而你想要 org.joda.time.LocalDate 而不是。
我知道这个问题很老,但你可以写:
LocalDate date = LocalDate.of(int, int, int);
我希望有人会觉得这有用。
根据 Joda 中的文档:
public LocalDate(int year,
int monthOfYear,
int dayOfMonth,
Chronology chronology)
应该采取上面我做的。我试图将 Chronology 设置为 null 但出现以下错误:
The constructor LocalDate(int, int, int, null) is undefined
但是我传递了正确的值,但据我了解,时间顺序为空意味着默认时区中的 ISOChronology。
因此,如何传递三个正确的 Integer 值并正确使用构造函数?
if (cit.hasNext()) {
cell = cit.next();
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
if (DateUtil.isCellDateFormatted(cell))
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String cellValue = sdf.format(cell.getDateCellValue());
//System.out.println(cellValue);
//bufferDate is getting mm/dd/yyyy from excel cell
String[] dateSpliter = cellValue.split("/");
int month= Integer.parseInt(dateSpliter[0]);
int day= Integer.parseInt(dateSpliter[1]);
int year= Integer.parseInt(dateSpliter[2]);
_date = new LocalDate(year,month,day,null);
po.setDate(_date);
}
在我看来,您好像导入了错误的 class。
Java 8 java.time.LocalDate class 没有 public 构造函数,但它确实有一个私有构造函数,它接受三个 int
值。我认为这个 class 是你错误导入的,而你想要 org.joda.time.LocalDate 而不是。
我知道这个问题很老,但你可以写:
LocalDate date = LocalDate.of(int, int, int);
我希望有人会觉得这有用。