如何将弹簧启动转换为最新


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

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

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

下面是示例。

波乔类

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因为它不会成为持久性的一部分。

最新更新