Java日期格式

Java日期格式,java,string,date,format,db4o,Java,String,Date,Format,Db4o,我在用java格式化日期时遇到问题。 我有一个购物类,它的商品名称是字符串,数量是整数,日期是日期。 在run类中,我尝试运行此查询 Date date = new Date(202020); SimpleDateFormat dateformat = new SimpleDateFormat("dd-mm-yy"); String date1 = dateformat.format(date); Shopping shoplist1 = new Shopping ( "iphone",

我在用java格式化日期时遇到问题。 我有一个购物类,它的商品名称是字符串,数量是整数,日期是日期。
在run类中,我尝试运行此查询

Date  date = new Date(202020);
SimpleDateFormat  dateformat = new SimpleDateFormat("dd-mm-yy");
String date1 = dateformat.format(date);

Shopping shoplist1 = new Shopping ( "iphone",  2, date);

当我尝试创建一个带有日期的新购物企业时,日期不会格式化。我不知道为什么,但它给了我1970年1月1日星期四1:03:22格林威治标准时间

更改
SimpleDateFormat dateformat=新的SimpleDateFormat(“dd-mm-yy”)
SimpleDataFormat日期格式=新的SimpleDataFormat(“dd-MM-yyyy”)

如果我清楚地记得小的
mm
mean minutes not month

也可以说@zvzdhk,您错误地使用了日期构造函数。

您使用了错误的:

表示您正试图分配一个日期对象并对其进行初始化,以表示自称为“历元”的标准基准时间(即1970年1月1日00:00:00 GMT)以来的指定毫秒数

您应该使用如下内容:

Shopping shoplist1 = new Shopping ("iphone",  2, 
        new SimpleDateFormat("dd-MM-yy").parse("20-20-20"));
阅读文档以了解和之间的更多差异
  • 您可以根据时间戳(从1970年开始的毫秒)创建日期实例。我想那不是你想做的
  • 将日期格式化为字符串并传递日期。如果要使用格式化日期,必须传递字符串
  • 根据您的评论:


    “我试图添加日期1,但它不允许。它说字符串不能转换为日期”

    您正在将字符串传递给构造函数,但看起来它可以接受java.util.Date对象

    Shopping shoplist1 = new Shopping ( "iphone",  2, date);
    
    更改构造函数签名以获取字符串对象


    传递日期对象并在任何其他相关位置执行格式设置

    您传递的是日期而不是日期1我尝试添加日期1,但它不允许。它说字符串不能转换为日期。解析给了我错误,它要我声明它。我使用导入吗?@user2231376当然,您必须导入
    java.text.simpleDataFormat
    Shopping shoplist1 = new Shopping ( "iphone",  2, date);