问题描述
我正在写信给你,看看是否有人可以指导我这段代码的情况...
我有以下代码:
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy,HH:mm:ss");
Date datofecha1 = new Date (time1);
String datotexto1 = formatter.format(datofecha1);
System.out.println(datotexto1);
时间长了1,我正在从我的云firebase数据库中获取它,它的编号为1597081737457
该代码应该打印出我
I/System.out: 10.08.2020,13:48:57
但它会打印我
I/System.out: 31.12.1969,20:00:00
如果我更改数据库中的long,它给我另一个打印日期,它总是打印1969年12月31日,完全是疯狂的(无论我输入的长度如何)。
一个奇怪的事实是,如果我以这种方式将long直接放在代码中:
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy,HH:mm:ss");
Date datofecha1 = new Date (1597081737457L);
String datotexto1 = formatter.format(datofecha1);
System.out.println(datotexto1);
如果日期显示我很完美,请按照以下方式
作为一个奇怪的事实,在数据库中,我只能输入一个长期的数字,不能输入必须长期存储的最后一个L,而且我真的很想尝试打印日期长时间使用,而不是12月31日这一天总是让我失望。
解决方法
通过附加异步侦听器来检索Firebase中存储的数据。您必须在监听器中使用value或确保监听器在触发之前被触发