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

如何用Python为Bitrix24任务设置截止日期?API调用问题求助

解决Bitrix24 API设置任务截止日期无效的问题

嗨,我来帮你搞定这个截止日期不生效的问题!核心原因是Bitrix24的tasks.task.add API对DEADLINE字段的格式有严格要求,你当前用的'09/12/2019 07:00:00 pm'这种本地化日期格式,API根本识别不了,所以才没生效。

正确的日期格式要求

Bitrix24支持两种格式的DEADLINE:

  • ISO 8601 UTC格式字符串:比如'2019-12-10T00:00:00Z'(必须是UTC时间,带时区标识)
  • Unix时间戳(整数):比如1576005600(对应UTC时间的秒数)

解决步骤(Python代码修改)

我们可以用Python的datetime和pytz模块,把你的本地时间转换成符合要求的UTC格式:

1. 安装依赖(如果没装的话)

pip install pytz requests

2. 修改后的完整代码

import requests
from datetime import datetime
import pytz

# 1. 处理本地时间转UTC
# 你的原始本地时间字符串
local_datetime_str = '09/12/2019 07:00:00 pm'
# 解析成datetime对象(注意格式符:%p对应am/pm,%I对应12小时制的小时)
local_time = datetime.strptime(local_datetime_str, '%m/%d/%Y %I:%M:%S %p')

# 设置你的本地时区(比如越南时区Asia/Ho_Chi_Minh,根据你的实际情况调整)
local_tz = pytz.timezone('Asia/Ho_Chi_Minh')
# 给本地时间打上时区标记
local_time = local_tz.localize(local_time, is_dst=None)
# 转换成UTC时间
utc_time = local_time.astimezone(pytz.utc)

# 2. 构造符合要求的截止日期(二选一即可)
# 选项A:ISO 8601 UTC格式
deadline = utc_time.isoformat()
# 选项B:Unix时间戳(整数)
# deadline = int(utc_time.timestamp())

# 3. 构造请求参数
fields = {
    "fields": {
        "TITLE": "name",
        "DESCRIPTION": "content",
        "DEADLINE": deadline,  # 替换成处理后的日期
        "ALLOW_CHANGE_DEADLINE": 1,
        "RESPONSIBLE_ID": 1
    }
}

# 发送请求
url = 'https://xxxxxxxxx.bitrix24.com/rest/1/xxxxxxx/tasks.task.add'
response = requests.post(url, json=fields)

# 打印响应结果,方便调试
print(response.json())

关键注意点

  • 一定要转换为UTC时间:Bitrix24的任务时间都是以UTC存储的,如果直接传本地时间且不带时区,API会默认当成UTC时间处理,导致时间偏差甚至不生效。
  • 时区设置要准确:比如你在越南就用Asia/Ho_Chi_Minh,在中国用Asia/Shanghai,避免时间转换错误。
  • 调试小技巧:发送请求后,查看返回的JSON响应,如果result字段里的任务包含正确的DEADLINE,就说明成功了;如果有error字段,可以根据错误信息进一步排查。

内容的提问来源于stack exchange,提问作者hieu le

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:34:49