JSON时间转换格式化(将数字时间转换为可视化的yyyy-MM-dd HH:mm:ss的格式)

本文介绍了一种常见的JSON时间格式,并提供了将此格式转换为人类可读格式的方法。通过使用Java的SimpleDateFormat和TimeZone,可以将1970年1月1日以来的毫秒数转换为指定时区的日期时间字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容:

通常JSON时间一般是这样的格式。

/Date(1436595149269)/

通常我们用AJAX获取下来的JSON数据,如果有时间,都是这种格式的。其中,中间的一段数字"1436595149269"表示的是1970年1月1日至今的毫秒数。

这种时间格式并不能够直接显示给用户查看,因为这是人类所看不懂的时间。所以我们需要将它转换为正常人能够理解的时间格式。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;


public class TestJsonDate {


    /**
     * 日期转换成json以后会变成一串数字,如何把数字转换为日期
     */
    public static void main(String[] args) {
        long unixstamp=1437646938000l;
        Date dt=new Date(unixstamp);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        System.out.println(sdf.format(dt));
    }
}
### Elasticsearch 时间配置及常见问题 #### 时间字段映射 在定义索引模式时,可以指定日期类型的字段及其格式。这有助于确保时间戳能够被正确解析和存储。 ```json { "mappings": { "properties": { "timestamp": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||epoch_millis" } } } } ``` 这种做法能提高查询效率并减少错误发生几率[^1]。 #### 设置节点间存活检测的时间参数 为了保持集群稳定运行,合理设置节点间的通信超时非常重要: - `discovery.zen.fd.ping_interval`: 定义了节点之间相互发送心跳包的频率,默认为`10秒`。 - `discovery.zen.fd.ping_timeout`: 如果超过此时间段未收到响应,则认为目标节点已离线,默认值为`30秒`。 - `discovery.zen.fd.ping_retries`: 表示连续失败多少次才最终判定该节点不可达,默认情况下会尝试三次[^4]。 这些参数对于防止误判网络波动造成的短暂断连十分有用,在大规模分布式环境中尤为重要。 #### 处理时间同步问题 当不同机器上的系统时间不一致时,可能导致数据写入顺序混乱等问题。建议部署NTP服务来统一整个环境内的服务器时间,从而避免此类隐患[^2]。 #### 日志中的时间戳管理 Elasticsearch的日志文件通常包含UTC标准下的时间戳记录。如果希望查看本地化后的版本,可以在客户端工具(如Kibana)中通过修改可视化组件属性实现转换功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值