电报漫游器响应:日期格式

时间:2020-03-11 16:29:17

标签: telegram-bot date-format

我现在正在尝试制作自己的机器人。现在我面临一个小问题...通过API接收消息时,JSON如下所示:

   {
  "update_id": 297528782,
  "message": {
    "message_id": 2,
    "from": {
      "id": 148361373,
      "is_bot": false,
      "first_name": "yz",
      "username": "yz"
    },
    "chat": {
      "id": -403635451,
      "title": "bottest",
      "type": "group",
      "all_members_are_administrators": false
    },
    "date": 1583942557,
    "left_chat_participant": {
      "id": 1138406331,
      "is_bot": true,
      "first_name": "xxxxxxxxxbot",
      "username": "xxxxxxxxxbot"
    },
    "left_chat_member": {
      "id": 1138406331,
      "is_bot": true,
      "first_name": "xxxxxxxxxbot",
      "username": "xxxxxxxxxbot"
    }
  }
}

如何将("date": 1583942557 )转换为dd-MM-YYYThh:mm?

预先感谢

1 个答案:

答案 0 :(得分:0)

Telegram将消息的时间戳记创建为UNIX时间 (自1970年1月1日以来的秒数)

要将其转换为“ YYYY-MM-DD HH:MM:SS”字符串,可以使用以下命令:

import datetime, time

data = json.load('json_file_with_telegram_message.json')

messageTime = data['message']['date'] # UNIX time
messageTime = datetime.datetime.utcfromtimestamp(messageTime) # datetime format
messageTime = messageTime.strftime('%Y-%m-%d %H:%M:%S') # formatted datetime
    
TimeStamp = str(messageTime)

享受!