当使用SimpleDateFormat从FireBaseFi还原时间戳对象生成字符串时,我会得到一个不正确/无意义的结果。为什么?
我制作了一些时间戳,然后把它们寄给Firestore。我在Firebase/Firestore控制台中看到了预期的结果。然后,我从Firestore中获取加法,从文档中检索时间戳,并首先将它们转换为Date对象,然后使用SimpleDateFormat将它们转换为字符串。最后一步产生不正确的字符串:具体地说是"18:08:00“而不是"18:28:53”和"19:08:64“而不是"19:28:53”(注:秒> 59)。
Fi
我正在尝试使用Jackson的ObjectMapper在两个类(例如,SrcMessage和DestMessage )之间进行映射。
我的SrcMessage类看起来像这样:
class SrcMessage {
public Instant workTime;
}
我的DestMessage类如下所示:
class DestMessage {
public Date workTime;
}
我像这样使用ObjectMapper:
SrcMessage src = new SrcMessage ();
src.workTime = Instant.now ();
Obj
在Java中,如何以以下格式输出自纪元以来的时间(以秒和纳秒为单位):
java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
我的输入是:
long mnSeconds;
long mnNanoseconds;
其中,两者的总和是自纪元1970-01-01 00:00:00.0以来经过的时间。
我有一个格式为:String dateString = "2014-03-17T20:05:49.2300963Z"的字符串
试试看:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'kk:mm:ss.SSSX");
Date date = df.parse(dateString);
结果出现了Unparsable date异常。
docs:表示当单个字母用于TimeZone时,X与ISO 8601一起使用。
编辑重新读取文档,我稍微切换了一下SimpleDateFormat:
S
像这样上课
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public final class ActiveRecoveryProcess {
private UUID recoveryId;
private Instant startedAt;
}
我得到了消息Cannot deserialize value of typejava.time.Instantfrom String "2020-02-22T16:37:23": Failed to deserialize java.time.Ins
这里需要在for循环的每次迭代中为日期生成不同的值。
使用currentTimeMillis没有帮助,因为它提供了相同的时间,但nanoTime给出了完全错误的日期。
for (int i = 0; i < 10; i++) {
System.out.println(new Date(System.currentTimeMillis()));
}
for (int i = 0; i < 10; i++) {
System.out.println(new Date(System.nanoTime()));
}
Mon
在Jackson2.11中,LocalDataTime格式在序列化过程中发生了变化。我对反序列化有问题。我找到了覆盖objectMapper配置的解决方案,如下面所示:
@Configuration
public class AppConfig {
@Bean
public ObjectMapper objectMapper()
{
ObjectMapper mapper = new ObjectMapper();
JavaTimeModule javaTimeModule = new JavaTimeModule();
我正在尝试模拟一个异步回调,它在设定的秒数内完成一些事情。我希望所有这些都记录在同一时间,3秒后,他们被触发。现在,他们每隔3秒连续登录。睡眠函数阻止了整个脚本的运行。知道为什么吗?
function sleep(delay) {
var start = new Date().getTime();
while (new Date().getTime() < start + delay);
}
var same = function(string, callback){
new sleep(3000);
return callback(string);
}