gpt4 book ai didi

java - 如何将 Spring Boot 长转换为最新版本

转载 作者:行者123 更新时间:2023-12-02 01:19:28 24 4
gpt4 key购买 nike

@JsonSerialize(using = DateSerializer.class)
private long date;

如何自定义时间格式,例如 yyyy-MM-dd HH:mm:ss 、 yyyy-MM-dd

最佳答案

我建议使用 @JsonSerialize 将您的长毫秒转换为所需的日期格式。

这是示例。

Pojo类

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import org.springframework.data.util.Pair;

/**
* Created by yprajapati on 19/09/2019.
*/

public @Data
class Test {

private long date;

@JsonSerialize(using = DateSerializerCustom.class)
private Pair formattedDate;

public Pair getFormattedDate() {
return Pair.of(date, "yyyy-MM-dd HH:mm"); // Here you can add your desired date format
}
}

日期序列化器

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.springframework.data.util.Pair;

import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

/**
* Created by yprajapati on 19/09/2019.
*/

public class DateSerializerCustom extends JsonSerializer<Pair<Long, String>> {

public void serialize(Pair<Long, String> pair, JsonGenerator jsonGen, SerializerProvider serProv) throws IOException {
DateFormat sdf = new SimpleDateFormat(pair.getSecond());
String formattedDate = sdf.format(pair.getFirst());
jsonGen.writeString(formattedDate);
}
}

主应用

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
* Created by yprajapati on 19/09/2019.
*/

public class MainApp {
public static void main(String[] args) throws JsonProcessingException {
Test test = new Test();
test.setDate(1568866827596L);

System.out.println(new ObjectMapper().writeValueAsString(test));
}
}

输出

{"date":1568866827596,"formattedDate":"2019-09-19 09:50"}

注意:这里我添加了额外的字段。将其标记为@Transient,因为它不会成为持久的一部分。

关于java - 如何将 Spring Boot 长转换为最新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58003237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com