Java 时间戳转时间注解
时间: 2025-06-27 14:15:02 浏览: 12
### 使用Java将时间戳转换为日期时间的注解
为了实现从时间戳到日期时间的转换,在Java中可以利用`@JsonDeserialize`和自定义的时间戳转换器。下面展示了一个具体的例子,通过创建一个名为`TimestampConverter`的工具类来进行这种转换操作[^5]。
```java
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class User {
private String name;
@JsonDeserialize(using = TimestampDeserializer.class)
private String createTime;
public User(String name, String createTime) {
this.name = name;
this.createTime = createTime;
}
public String getCreateTime() {
return createTime;
}
}
class TimestampDeserializer extends StdDeserializer<String> {
protected TimestampDeserializer() {
super(String.class);
}
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
long timestamp = Long.parseLong(p.getText());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(new java.util.Date(timestamp));
}
}
```
在这个案例里,当JSON对象被反序列化成`User`实体的时候,带有`@JsonDeserialize`注解的字段会调用指定的反序列化器(`TimestampDeserializer`)来完成由时间戳向字符串形式日期时间的转变过程。
#### 注意事项
- `SimpleDateFormat`不是线程安全的对象;如果应用是多线程环境,则建议每次使用时都新建实例或采用其他更优的方式如`DateTimeFormatter`(适用于Java 8及以上版本)[^2]。
- 上述代码片段假设输入的时间戳是以毫秒计数的标准Unix时间戳格式。对于不同的时间单位(例如纳秒),可能需要调整解析逻辑以适应特定需求[^3]。
阅读全文
相关推荐


















