Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะแปลงวันที่ JS เป็นวัตถุวันที่ Python ได้อย่างไร


โดยหลักแล้วคุณจะต้องการแปลงวันที่ของ Javascript เป็นวัตถุวันที่ของ Python เมื่อคุณส่งผ่านการเชื่อมต่อเครือข่าย เช่น คำขอ AJAX หรือข้อความ IPC (บน nodejs) การแสดงนี้จะอยู่ในรูปแบบสตริง และคุณสามารถเลือกส่งในรูปแบบใดก็ได้ที่คุณต้องการ คุณสามารถใช้ฟังก์ชัน strptime เพื่อแยกสตริงกลับไปยังอ็อบเจ็กต์วันที่ของ Python มีวิธีมาตรฐานเช่น ISO 8061 ในการส่งและรับวัตถุวันที่และเวลา ในกรณีนี้ หากเราพิจารณาตัวอย่างง่ายๆ จะเข้าใจได้ง่ายขึ้นเล็กน้อย

ตัวอย่าง

import datetime
# The string that you get from Javascript
date_string = '2017-12-31'
date_format = '%Y-%m-%d'
try:
  date_obj = datetime.datetime.strptime(date_string, date_format)
  print(date_obj)
except ValueError:
  print("Incorrect data format, should be YYYY-MM-DD")

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์:

2017-12-31 00:00:00

คุณสามารถใช้คำสั่งอื่นๆ เพื่อแยกวิเคราะห์วันที่ได้ ต่อไปนี้เป็นคำสั่งที่สนับสนุนโดยสตริงรูปแบบของ strptime()

คำสั่ง
ความหมาย
%a
ชื่อวันทำงานแบบย่อของสถานที่
%A
ชื่อเต็มในวันทำงานของสถานที่
%b
ชื่อเดือนแบบย่อของโลแคล
%B
ชื่อเดือนเต็มของโลแคล
%c
การแสดงวันที่และเวลาที่เหมาะสมของสถานที่
%d
วันของเดือนเป็นตัวเลขทศนิยม [01,31]
%H
Hour (24-hour clock) เป็นเลขฐานสิบ [00,23]
%I
Hour (12-hour clock) เป็นเลขฐานสิบ [01,12]
%j
วันของปีเป็นเลขทศนิยม [001,366]
%m
เดือนเป็นเลขฐานสิบ [01,12]
%M
นาทีเป็นเลขทศนิยม [00,59]
%p
Locale มีค่าเท่ากับ AM หรือ PM
%S
วินาที เป็นเลขฐานสิบ [00,61]
%U
เลขสัปดาห์ของปี (วันอาทิตย์เป็นวันแรกของสัปดาห์) เป็นเลขฐานสิบ [00,53] ทุกวันในปีใหม่ก่อนวันอาทิตย์แรกจะถือเป็นสัปดาห์ที่ 0
%w
วันธรรมดาเป็นเลขฐานสิบ [0(วันอาทิตย์),6]
%W
เลขสัปดาห์ของปี (วันจันทร์เป็นวันแรกของสัปดาห์) เป็นเลขฐานสิบ [00,53] ทุกวันในปีใหม่ก่อนหน้าวันจันทร์แรกจะถือเป็นสัปดาห์ที่ 0
%x
การแสดงวันที่ที่เหมาะสมของสถานที่
%X
การแสดงเวลาที่เหมาะสมของสถานที่
%y
ปีที่ไม่มีศตวรรษเป็นตัวเลขทศนิยม [00,99]
%Y
ปีที่มีศตวรรษเป็นเลขฐานสิบ
%Z
ชื่อเขตเวลา (ไม่มีอักขระหากไม่มีเขตเวลา)
%%
ตัวอักษร "%"