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

จะพิมพ์วันที่ในรูปแบบปกติใน Python ได้อย่างไร?


หากคุณพิมพ์วันที่โดยตรงโดยใช้ฟังก์ชันการพิมพ์ คุณจะได้รับวันที่ปกติ

ตัวอย่าง

import datetime
today = datetime.date.today()
print(today)

ผลลัพธ์

คุณจะได้ผลลัพธ์ -

2018-1-2

ซึ่งเป็นสิ่งที่คุณต้องการ แต่เมื่อคุณผนวกสิ่งนี้เข้ากับรายการแล้วลองพิมพ์ออกมา

ตัวอย่าง

import datetime
my_list = []
today = datetime.date.today()
my_list.append(today)
print(my_list)

ผลลัพธ์

คุณจะได้ผลลัพธ์ -

[datetime.date(2018, 1, 2)]

สิ่งนี้เกิดขึ้นเพราะ datetime เป็นวัตถุ ดังนั้น เมื่อคุณจัดการพวกมัน คุณจะจัดการวัตถุ ไม่ใช่สตริง ไม่ใช่การประทับเวลาหรืออะไรก็ตาม วัตถุใด ๆ ใน Python มีการแทนค่าสตริงสองแบบ การแทนค่าปกติที่ใช้โดย "print" สามารถรับได้โดยใช้ฟังก์ชัน str() อันนี้ถูกใช้งานโดยใช้ฟังก์ชัน __str__ ในคลาสสำหรับอ็อบเจกต์นั้น การแสดงทางเลือกที่ใช้เพื่อแสดงลักษณะของวัตถุ (เป็นข้อมูล) สามารถใช้ฟังก์ชัน repr() ได้

ดังนั้น เพื่อให้ได้การแสดงที่ถูกต้อง คุณต้องเรียก str อย่างชัดเจนบนอ็อบเจกต์ datetime ของคุณ

ตัวอย่าง

import datetime
my_list = []
today = datetime.date.today()
my_list.append(str(today))
print(my_list)

ผลลัพธ์

คุณจะได้ผลลัพธ์ -

['2018-01-02']