บทช่วยสอน วันที่และเวลา Python3 ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ tuple เวลาคืออะไร?,ได้รับเวลาปัจจุบัน,ได้รับเวลาการจัดรูปแบบ,รูปแบบวันที่,รับเดือนปฏิทิน,โมดูลเวลา,ปฏิทิน (Calendar) โมดูล,โมดูลที่เกี่ยวข้องอื่น ๆ และฟังก์ชั่น,
โปรแกรม Python สามารถจัดการกับวันที่และเวลาในหลาย ๆ รูปแบบวันที่แปลงเป็นคุณสมบัติทั่วไป
งูหลามให้เวลาและโมดูลปฏิทินสามารถใช้ในรูปแบบวันที่และเวลา
ช่วงเวลาที่อยู่ในวินาทีทศนิยมจุดลอย
แต่ละเวลาประทับอยู่ในตั้งแต่ 1 มกราคม 1970 เวลาเที่ยงคืน (ยุค) หลังจากระยะเวลาในการแสดง
ภายใต้โมดูลเวลางูใหญ่มีจำนวนของฟังก์ชั่นที่สามารถแปลงเป็นรูปแบบวันที่พบบ่อย เช่น time.time ฟังก์ชั่น () จะใช้ในการขอรับการประทับเวลาปัจจุบันตัวอย่างต่อไปนี้:
#!/usr/bin/python3 import time; # 引入time模块 ticks = time.time() print ("当前时间戳为:", ticks)
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
当前时间戳为: 1459996086.7115328
หน่วยการประทับเวลาเหมาะที่สุดที่จะทำวันเลขคณิต แต่ก่อนที่ปี 1970 เป็นวันที่ไม่สามารถแสดง หรือวันที่ไกลเกินไป, UNIX และ Windows สนับสนุนได้ถึง 2038
ฟังก์ชั่นหลามหลายคนที่มีหนึ่งหยวนประกอบการตั้งเวลาการประมวลผลดิจิตอลของ 9:
เลขที่ | สนาม | ความคุ้มค่า |
---|---|---|
0 | 4 หลักปี | 2008 |
1 | เดือน | 1-12 |
2 | วัน | 1-31 |
3 | ชั่วโมง | 0-23 |
4 | นาที | 0-59 |
5 | ที่สอง | 0-61 (60 หรือ 61 วินาทีกระโดด) |
6 | สองสามวันแรกของสัปดาห์ | 0-6 (0 วันจันทร์) |
7 | สองสามวันแรกของปี | 1-366 (จูเลียน) |
8 | ปรับเวลาตามฤดูกาล | -1, 0, 1, -1 แบนเนอร์ตัดสินใจว่าจะปรับเวลาตามฤดูกาล |
เหนือขึ้นไปเป็นอันดับ struct_time โครงสร้างนี้มีคุณสมบัติดังต่อไปนี้:
เลขที่ | คุณสมบัติ | ความคุ้มค่า |
---|---|---|
0 | tm_year | 2008 |
1 | tm_mon | 1-12 |
2 | tm_mday | 1-31 |
3 | tm_hour | 0-23 |
4 | tm_min | 0-59 |
5 | tm_sec | 0-61 (60 หรือ 61 วินาทีกระโดด) |
6 | tm_wday | 0-6 (0 วันจันทร์) |
7 | tm_yday | 1-366 (จูเลียน) |
8 | tm_isdst | -1, 0, 1, -1 แบนเนอร์ตัดสินใจว่าจะปรับเวลาตามฤดูกาล |
แปลง tuple จากการกลับมาจุดลอยตัว timestamps วิธีการเวลาตราบใดที่ลอยผ่านไปการทำงานเช่น localtime
#!/usr/bin/python3 import time localtime = time.localtime(time.time()) print ("本地时间为 :", localtime)
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
本地时间为 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=28, tm_sec=49, tm_wday=3, tm_yday=98, tm_isdst=0)
คุณสามารถเลือกได้หลากหลายรูปแบบตามความต้องการ แต่ที่ง่ายที่สุดที่จะได้รับฟังก์ชั่นโหมดเวลาอ่านเป็น asctime ():
#!/usr/bin/python3 import time localtime = time.asctime( time.localtime(time.time()) ) print ("本地时间为 :", localtime)
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
本地时间为 : Thu Apr 7 10:29:13 2016
เราสามารถใช้วิธีการโมดูลเวลา strftime เพื่อจัดรูปแบบวันที่:
time.strftime(format[, t])
#!/usr/bin/python3 import time # 格式化成2016-03-20 11:45:39形式 print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 格式化成Sat Mar 28 22:24:24 2016形式 print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) # 将格式字符串转换为时间戳 a = "Sat Mar 28 22:24:24 2016" print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
2016-04-07 10:29:46 Thu Apr 07 10:29:46 2016 1459175064.0
งูหลามวันที่และการจัดรูปแบบสัญลักษณ์เวลา:
โมดูลปฏิทินมีหลากหลายวิธีการที่ใช้ในปฏิทินกระบวนการและปฏิทินเช่นการพิมพ์เดือนปฏิทิน:
#!/usr/bin/python3 import calendar cal = calendar.month(2016, 1) print ("以下输出2016年1月份的日历:") print (cal)
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
以下输出2016年1月份的日历: January 2016 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
โมดูลเวลาที่มีฟังก์ชั่นดังต่อไปนี้ทั้งเวลาที่จะจัดการกับ แต่ยังรูปแบบเวลาการแปลง:
เลขที่ | ฟังก์ชั่นและรายละเอียด | ตัวอย่าง |
---|---|---|
1 | time.altzone ย้อนกลับไปในพื้นที่เวสต์กรีนวิชของเวลาออมแสงชดเชยในไม่กี่วินาที หากพื้นที่จะถูกส่งกลับในค่าลบตะวันออกกรีนิช (เช่นยุโรปตะวันตกรวมทั้งสหราชอาณาจักร) เปิดใช้งานเพื่อใช้พื้นที่ปรับเวลาตามฤดูกาลที่เหมาะสม | ตัวอย่างต่อไปนี้แสดงให้เห็น altzone () ฟังก์ชันการใช้: >>> import time >>> print ("time.altzone %d " % time.altzone) time.altzone -28800 |
2 | time.asctime ([tupletime]) ใช้เวลาในการยอมรับและกลับมาเป็นรูปแบบที่อ่าน tuple เป็นสตริง "อังคารที่ 11 ธันวาคม 2008 18:07:14" (11 ธันวาคม 2008 18:07:14 อังคาร) 24 ตัวอักษร | ตัวอย่างต่อไปนี้แสดงให้เห็น asctime () ฟังก์ชันการใช้: >>> import time >>> t = time.localtime() >>> print ("time.asctime(t): %s " % time.asctime(t)) time.asctime(t): Thu Apr 7 10:36:20 2016 |
3 | time.clock () จำนวนวินาทีที่จะกลับมาคำนวณจุดลอยตัวปัจจุบันของเวลา CPU วิธีการที่แตกต่างกันใช้ในการวัดใช้เวลานานกว่า time.time () มีประโยชน์มากขึ้น | ตัวอย่าง |
4 | time.ctime ([วินาที]) ทำหน้าที่ asctime (localtime (วินาที)) จะไม่เทียบเท่ากับ asctime พารามิเตอร์ () | ตัวอย่างต่อไปนี้แสดงให้เห็น ctime () ฟังก์ชั่นการใช้: >>> import time >>> print ("time.ctime() : %s" % time.ctime()) time.ctime() : Thu Apr 7 10:51:58 2016 |
5 | time.gmtime ([วินาที]) timestamps แผนกต้อนรับส่วนหน้า (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) และกลับเวลามาตรฐานกรีนิชเวลาดาราศาสตร์ tuple T หมายเหตุ: t.tm_isdst เสมอ 0 | ตัวอย่างต่อไปนี้แสดงให้เห็น gmtime () ฟังก์ชั่นการใช้: >>> import time >>> print ("gmtime :", time.gmtime(1455508609.34375)) gmtime : time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=3, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0) |
6 | time.localtime ([วินาที] timestamps แผนกต้อนรับส่วนหน้า (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) และกลับไปเวลาท้องถิ่นในเวลาที่ tuple ที (t.tm_isdst ปรารถนา 0 หรือ 1 เวลาท้องถิ่นไม่ได้ขึ้นอยู่กับการปรับเวลาตามฤดูกาล) | ตัวอย่างต่อไปนี้แสดงให้เห็นถึง localtime () ฟังก์ชันการใช้: >>> import time >>> print ("localtime(): ", time.localtime(1455508609.34375)) localtime(): time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=11, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0) |
7 | time.mktime (tupletime) ใช้เวลาในการยอมรับและกลับ timestamps tuple (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) | ตัวอย่าง |
8 | time.sleep (วินาที) เลื่อนการโทรด้ายกำลังทำงานวินาทีจำนวนวินาที | ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการนอนหลับ () ฟังก์ชันการใช้: #!/usr/bin/python3 import time print ("Start : %s" % time.ctime()) time.sleep( 5 ) print ("End : %s" % time.ctime()) |
9 | time.strftime (FMT [tupletime]) ได้รับเวลา tuple และผลตอบแทนการแสดงสตริงเวลาท้องถิ่นในรูปแบบที่อ่านกำหนดโดย fmt | ตัวอย่างต่อไปนี้แสดงให้เห็น strftime () ฟังก์ชั่นการใช้: >>> import time >>> print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 2016-04-07 11:18:05 |
10 | time.strptime (Str, fmt = '% a% B% d% H: M%:% s% Y') ตามที่เวลาสตริงรูปแบบ FMT จะถูกตีความว่าเป็น tuple เวลา | ตัวอย่างต่อไปนี้แสดงให้เห็น strftime () ฟังก์ชั่นการใช้: >>> import time >>> struct_time = time.strptime("30 Nov 00", "%d %b %y") >>> print ("返回元组: ", struct_time) 返回元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) |
11 | time.time () ส่งกลับการประทับเวลาเวลาปัจจุบัน (ยุค 1970 หลังจากที่จำนวนจุดลอยตัววินาที) | ตัวอย่างต่อไปนี้แสดงเวลา () ฟังก์ชันการใช้: >>> import time >>> print(time.time()) 1459999336.1963577 |
12 | time.tzset () ตามการตั้งค่าตัวแปรสิ่งแวดล้อม TZ ใหม่เริ่มต้น | ตัวอย่าง |
โมดูลเวลามีดังต่อไปสองคุณสมบัติที่สำคัญมาก:
เลขที่ | คุณลักษณะและคำอธิบาย |
---|---|
1 | time.timezone โซน time.timezone ทรัพย์สินตามเวลาท้องถิ่น (ไม่ได้เริ่มปรับเวลาตามฤดูกาล) ชดเชยจากกรีนิชวินาที (> 0, อเมริกา; <= 0 ส่วนใหญ่ของยุโรป, เอเชีย, แอฟริกา) |
2 | time.tzname คุณสมบัติ Time.tzname รวมถึงคู่ของขึ้นอยู่กับสถานการณ์และสตริงที่แตกต่างกันตามลำดับชื่อของโซนเวลาท้องถิ่นที่มีปรับเวลาตามฤดูกาลและไม่มีวง |
ฟังก์ชั่นโมดูลนี้จะเกี่ยวข้องกับปฏิทินเช่นการพิมพ์เดือนปฏิทินตัวอักษร
วันจันทร์เป็นวันแรกที่เริ่มต้นของสัปดาห์วันอาทิตย์เป็นวันสุดท้ายของการเริ่มต้น เปลี่ยนการตั้งค่าที่จะเรียกว่า calendar.setfirstweekday () ฟังก์ชัน โมดูลที่มีฟังก์ชั่นในตัวต่อไปนี้:
เลขที่ | ฟังก์ชั่นและรายละเอียด |
---|---|
1 | calendar.calendar (ปี W = 2, L = 1, C = 6) ส่งกลับปฏิทินปีหลายสายในรูปแบบสตริง 3 เดือนระยะห่างบรรทัดระยะทาง C ความกว้างของช่วงเวลาในชีวิตประจำวัน W ตัวอักษร ความยาวแต่ละบรรทัดคือ 21 * W + 18 + 2 * ซี L คือจำนวนของแถวต่อสัปดาห์ |
2 | calendar.firstweekday () ย้อนกลับตั้งค่าวันที่เริ่มต้นของสัปดาห์ปัจจุบัน โดยค่าเริ่มต้นเมื่อคุณโหลดโมดูล caendar แรกกลับ 0 คือจันทร์ |
3 | calendar.isleap (ปี) มันเป็นปีอธิกสุรทินส่งกลับค่า True เป็นเท็จอย่างอื่น |
4 | calendar.leapdays (Y1, Y2) ย้อนกลับไปใน Y1 ที่ Y2 จำนวนรวมของปีอธิกสุรทินระหว่าง |
5 | calendar.month (ปี, เดือน, W = 2, L = 1) ส่งกลับหลายคู่สายสายในรูปแบบเดือนต่อเดือนปฏิทินปีสองบรรทัดบรรทัดหัวเรื่องสัปดาห์ ความกว้างของช่วงเวลาในชีวิตประจำวัน W ตัวอักษร ความยาวของแต่ละบรรทัดคือ 7 * W + 6 L คือจำนวนของเส้นต่อสัปดาห์ |
6 | calendar.monthcalendar (ปีเดือน) มันกลับจำนวนเต็มซ้อนรายการ monolayer แต่ละรายการย่อยของจำนวนเต็มโหลดตัวแทนสัปดาห์ วันเดือนปีในเดือนที่ด้านนอกมีการกำหนดให้ 0; ช่วงวันสองสามวันแรกของเดือนที่เขากล่าวว่าตั้งแต่วันที่ 1 |
7 | calendar.monthrange (ปีเดือน) ส่งกลับจำนวนเต็มสองจำนวน สัปดาห์แรกของเดือนเป็นรหัสวันที่และสองคือเดือนรหัสวันที่ จากวันที่ 0 (วันจันทร์) ถึง 6 (วันอาทิตย์) ตั้งแต่ 01-12 มกราคม |
8 | calendar.prcal (ปี W = 2, L = 1, C = 6) calendar.calendar พิมพ์เทียบเท่า (ปี, W, L, C) |
9 | calendar.prmonth (ปี, เดือน, W = 2, L = 1) calendar.calendar พิมพ์เทียบเท่า (ปี, W, L, C) |
10 | calendar.setfirstweekday (วันธรรมดา) การตั้งค่ารหัสสัปดาห์วันที่เริ่มต้น 0 (วันจันทร์) ถึง 6 (วันอาทิตย์) |
11 | calendar.timegm (tupletime) และตรงข้าม time.gmtime: จะยอมรับรูปแบบของ tuple เวลากลับ timestamps เวลา (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) |
12 | calendar.weekday (ปีเดือนวัน) ส่งกลับวันที่รหัสวันที่ 0 (วันจันทร์) ถึง 6 (วันอาทิตย์) 1 เดือน (มกราคม) ถึง 12 (ธันวาคม) |
ในหลามวันที่และเวลาของโมดูลการประมวลผลอื่น ๆ :