首页 >后端开发 >Python教程 >如何使用 JSON 在 Python 和 JavaScript 之间交换日期时间对象?

如何使用 JSON 在 Python 和 JavaScript 之间交换日期时间对象?

Barbara Streisand
Barbara Streisand原创
2024-10-20 19:17:02608浏览

How to Exchange Datetime Objects Between Python and JavaScript Using JSON?

Python 和 JavaScript 之间的 JSON 日期时间

使用 JSON 在 Python 和 JavaScript 之间交换日期时间对象可能具有挑战性,因为它们各自的日期和时间存在差异。时间格式。为了解决这个问题,我们可以实现自定义 JSON 序列化和反序列化处理程序。

在 Python 中,您可以使用 json.dumps 函数中的默认参数定义序列化处理程序函数。只要在序列化过程中遇到日期时间对象,就会调用此处理程序。以下代码片段演示了如何为日期时间对象创建处理程序,将其转换为 ISO 8601 格式:

<code class="python">date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json.dumps(datetime.datetime.now(), default=date_handler)</code>

这会将日期时间对象输出为 ISO 8601 格式的字符串:

<code class="json">"2010-04-20T20:08:21.634121"</code>

在 JavaScript 中,您可以使用自定义反序列化处理程序将接收到的 ISO 8601 字符串转换回日期时间对象。全面的反序列化处理程序函数可能如下所示:

<code class="javascript">function handler(obj) {
    if (typeof obj === 'string') {
        if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
            // ISO 8601 Date string
            return new Date(obj);
        }
    }

    return obj;
}</code>

通过使用这些自定义处理程序,您可以使用 JSON 在 Python 和 JavaScript 之间无缝交换日期时间对象,从而确保两个平台之间的兼容性。

以上是如何使用 JSON 在 Python 和 JavaScript 之间交换日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn