python - 在python中将字符串转换为时区iso格式
问题描述
我正在尝试将此表单的字符串转换"2019-07-17T16:00:50.282203+01:30"
为时区格式,以便我可以更新models.DateTimeField
字段。
模型.py:
from django.utils import timezone
class task(models.Model):
title = models.CharField(max_length=100)
create_date = models.DateTimeField(default=timezone.now)
.
.
.
请求将是这样的:
{
"title": "editeddd task",
"create_date" : "2019-07-17T16:00:50.282203+01:30"
}
被困在转换UTC部分。
视图.py:
.
.
.
create_date = datetime.strptime(self.request.data['expiration_date'], '%Y-%m-%dT%H:%M:%S.%f%z')
.
.
错误是%z
部分的。它可以转换"2019-07-17T16:00:50.282203+0130"
但不能转换"2019-07-17T16:00:50.282203+01:30"
(注意:
在 UTC 部分)
解决方案
在发送时要严格,在接收时要宽容,您应该在将 create_date 字符串传递给strptime
.
我的建议是使用正则表达式,或者查看rreplace - 如何替换字符串中最后一次出现的表达式?摆脱那个最后:
。
希望这可以帮助!
推荐阅读
- javascript - 正则表达式以匹配 html 注释,在 javascript
- swift - HMHomeManager 返回零
- r - 过滤数据表的 DT 速度和性能选项
- git - Git post-update钩子没有被执行
- ruby - 正则表达式匹配人类可读的数字
- eclipse - 在 Oxygen Mac 上安装 Eclipse Photon
- typescript - 对象解构防止打字稿歧视
- terraform - Terraform 模块中的可选字符串变量
- php - 在 Woocommerce 中添加到购物车操作时,将自定义选择的日期添加到购物车项目
- pycharm - PyCharm 中的 Qt 设计器是否可以与所有最新版本一起使用?