前端处理后端对象类型时间格式通用方法封装,前端JS处理JSON 序列化后的格式 java.time 包中的日期时间类

后端的接口返回数据层级

 它是由 Java 的 java.time 包(如 LocalDateTime 或 ZonedDateTime)中的某个类通过 JSON 序列化工具(如 Jackson 或 Gson)转换而来的。

Java 默认时间类(java.time 包)

这个结构对应的是 Java 8 引入的现代日期时间 API(java.time),比如:

  • LocalDateTime(无时区信息)

  • ZonedDateTime(带时区信息)

处理方法封装

export function zrjparseCustomDate(timeObj: any) {
  // 检查空值
  if (!timeObj || typeof timeObj !== 'object' || Object.keys(timeObj).length === 0) {
    return null
    return moment(); // 返回当前时间,或返回 null/抛出错误(根据业务需求)
  }
  // 确保必要字段存在(简单校验)
  const { year, monthValue, dayOfMonth, hour = 0, minute = 0, second = 0 } = timeObj;
  if (year === undefined || monthValue === undefined || dayOfMonth === undefined) {
    throw new Error("Invalid date object: missing required fields (year, monthValue, dayOfMonth)");
  }
  // 拼接 ISO 字符串
  const isoString = `${year}-${String(monthValue).padStart(2, '0')}-${String(dayOfMonth).padStart(2, '0')}T${String(hour).padStart(2, '0')}:${String(minute).padStart(2, '0')}:${String(second).padStart(2, '0')}`;
  return moment(isoString);
}

使用

const parsedDate = parseCustomDate(time);
const getTime = parsedDate ? parsedDate.format("YYYY-MM-DD HH:mm:ss") : ""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值