前端解析时间戳成正常日期格式

本文介绍了一种将时间戳转换为常见日期格式(YYYY-MM-DD HH:MM:SS)的方法。通过JavaScript函数实现,适用于前端展示日期的需求。

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

一直会有这么一个问题,后台数据库采用date类型存储日期的时候,发送到前端前端直接显示的都是时间戳,一种方法就是前端定义一个函数解析一下就可以了。

最常见的日期格式应该是YYYY-MM-DD HH-MM-SS,如果需要转换的时间戳格式为timestamp,那么转换函数如下。

var date=new Date(timestamp);
var year=date.getFullYear();
var mon=date.getMonth()+1;
var day=date.getDate();
var hour=date.getHours();
var min=date.getMinutes();
var sec=date.getSeconds();
mon=parseInt(mon)<10?"0"+mon:mon;
day=parseInt(day)<10?"0"+day:day;
hour=parseInt(hour)<10?"0"+hour:hour;
min=parseInt(min)<10?"0"+min:min;
sec=parseInt(sec)<10?"0"+sec:sec;
let d=year+"-"+mon+"-"+day+" "+hour+":"+min+":"+sec;

 

### 使用 `LocalDateTime` 接收前端时间戳 在 Java Spring Boot 后端应用中接收来自前端时间戳并将其转换为 `LocalDateTime` 对象,可以通过多种方式实现。通常情况下,前端会发送 Unix 时间戳(毫秒数),而后端负责解析时间戳。 #### 方法一:通过控制器参数直接映射 如果前端传递的是标准 ISO 8601 字符串格式的时间戳,则可以直接利用 Jackson 序列化器自动完字符串到 `LocalDateTime` 的转换: ```java @PostMapping("/receive-timestamp") public ResponseEntity<String> receiveTimestamp(@RequestParam("timestamp") LocalDateTime timestamp) { // 处理接收到的 LocalDatetime 数据 System.out.println("Received Timestamp: " + timestamp); return ResponseEntity.ok("Timestamp received successfully"); } ``` 此方法依赖于客户端按照 ISO 8601 格式发送日期时间数据[^2]。 #### 方法二:手动处理 Unix 时间戳 当从前端获取到 Unix 时间戳时,可以先作为 Long 类型接受下来再转 `LocalDateTime`: ```java @PostMapping("/receive-unix-timestamp") public ResponseEntity<String> receiveUnixTimestamp(@RequestParam("unix_timestamp") long unixTimestamp) { Instant instant = Instant.ofEpochMilli(unixTimestamp); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); // 打印或进一步操作本地日期时间对象 System.out.println("Converted LocalDateTime: " + localDateTime); return ResponseEntity.ok("Unix timestamp converted and received successfully"); } ``` 上述代码片段展示了如何将 Unix 时间戳转换为基于当前系统的默认时区(`ZoneId.systemDefault()`)下的 `LocalDateTime` 实例[^3]。 对于 ZooKeeper 连接超时设置[zookeeper.connection.timeout.ms=18000][^1],这与本话题无关,在这里不作讨论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值