You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel:转换第三方API日期时间格式以存入数据库

日期时间格式转换解决方案

针对你需要将July, 17 2020 09:29:00-0500转换为2020-07-17 09:29:00-0500(注:你示例中的目标年份2022应为笔误,以下按原始年份处理)的需求,下面提供几种主流编程语言的实现方案:

Python

使用标准库datetime即可完成解析与格式化:

from datetime import datetime

original_date = "July, 17 2020 09:29:00-0500"
# 解析原始格式:%B匹配完整月份名,%z匹配时区偏移
parsed_dt = datetime.strptime(original_date, "%B, %d %Y %H:%M:%S%z")
# 输出目标格式
formatted_dt = parsed_dt.strftime("%Y-%m-%d %H:%M:%S%z")
print(formatted_dt)  # 输出: 2020-07-17 09:29:00-0500

JavaScript

原生Date对象结合字符串处理即可实现,若需更复杂场景可使用date-fns等库:

const originalStr = "July, 17 2020 09:29:00-0500";
const date = new Date(originalStr);

// 提取日期部分(ISO格式的日期段)
const dateSegment = date.toISOString().split('T')[0];
// 提取时分秒(24小时制)
const timeSegment = date.toLocaleTimeString('en-US', {
  hour12: false,
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit'
});
// 直接保留原始时区偏移,避免时区转换
const timezoneSegment = originalStr.slice(-5);

const formattedStr = `${dateSegment} ${timeSegment}${timezoneSegment}`;
console.log(formattedStr); // 输出: 2020-07-17 09:29:00-0500

Java(Java 8+)

使用java.time包的ZonedDateTime和DateTimeFormatter处理:

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class DateFormatConverter {
    public static void main(String[] args) {
        String originalDate = "July, 17 2020 09:29:00-0500";
        // 定义输入格式解析器
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("MMMM, dd yyyy HH:mm:ssZ");
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(originalDate, inputFormatter);
        
        // 定义输出格式
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssZ");
        String formattedDate = zonedDateTime.format(outputFormatter);
        
        System.out.println(formattedDate); // 输出: 2020-07-17 09:29:00-0500
    }
}

关键注意点

  • 时区偏移:直接保留原始的-0500,避免因时区转换导致时间偏差;
  • 月份匹配:确保解析器能识别完整英文月份名(如July);
  • 年份一致性:你示例中的目标年份2022与原始数据2020不符,上述代码均以原始年份为准,若需手动修改年份可在解析后单独调整日期对象的年份字段。

内容的提问来源于stack exchange,提问作者Hugh Hari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:10:32