java - Java 中的 LocalDate 数据类型

标签 java date types simpledateformat

我正在做一项作业,我们正在使用自己的属性和方法(构造函数、Getter 和 Setter)创建自己的类,对于一个类,我需要一些使用日期的属性,例如发行日期或付款日期。我正在尝试使用新的 LocalDate 数据类型,但是当我从 CheckingAccount 实例化一个对象并尝试设置日期时,我不知道要采用什么格式。我尝试了 3 个整数,例如05, 06, 2010,顺序不同,但都说是预期的。

有人可以帮忙吗?

import java.time.*;
import java.math.BigDecimal;

final public class CheckingAccount extends BankAccount {
    //Attributes
    private int checkingBookNo;
    private BigDecimal amountLastCheck;
    private LocalDate dateOfIssue;


public CheckingAccount(){
    checkingBookNo = 0;
    dateOfIssue = null;

}

public void setDateOfIssue ( LocalDate dateOfIssueIn )
{
   dateOfIssue = dateOfIssueIn;
}
}

最佳答案

Java 8 取代了 java.util.Date,而是提供了一个经过大幅改进的新 Date and Time API 。如果禁止使用 Java 8,但允许使用第 3 方库,则 JodaTime是一个不错的选择。该库是新的 Java 8 日期和时间 API 的基础,可以与早期版本的 Java 一起使用。


如果使用Java 8 java.time package ,该属性的类型应为 LocalDate (或 LocalDateTime 是需要的时间部分)。 Setter 和 getter 应该分别接受和返回相同类型的对象。

以下是如何创建日期实例的几个示例:

// the current date
LocalDate currentDate = LocalDate.now();

// 2015-02-11
LocalDate tenthFeb2014 = LocalDate.of(2015, Month.FEBRUARY, 11);

关于 Java 8 日期/时间 API 的精彩教程已发布 herehere .

关于java - Java 中的 LocalDate 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28005218/

相关文章:

Java:YAML 文件处理

haskell - 异构列表的笛卡尔积

c++ - 以十六进制表示法 (0xABCDEF) 打印字节缓冲区的字节到控制台输出流

Java反弹物理: never ending bounce

java - 从另一个类调用非静态 void

从未使用过的 Java 接口(interface)方法

string - oracle日期转字符串

python - Matplotlib 日期作为刻度

user-interface - 日期应该格式化在哪一层?

math - 何时使用不同的整数类型?