บทช่วยสอน วันที่และเวลาหลาม ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ tuple เวลาคืออะไร?,ได้รับเวลาปัจจุบัน,ได้รับเวลาการจัดรูปแบบ,รูปแบบวันที่,รับเดือนปฏิทิน,โมดูลเวลา,ปฏิทิน (Calendar) โมดูล,โมดูลที่เกี่ยวข้องอื่น ๆ และฟังก์ชั่น,
โปรแกรม Python สามารถจัดการกับวันที่และเวลาในหลาย ๆ รูปแบบวันที่แปลงเป็นคุณสมบัติทั่วไป
งูหลามให้เวลาและโมดูลปฏิทินสามารถใช้ในรูปแบบวันที่และเวลา
ช่วงเวลาที่อยู่ในวินาทีทศนิยมจุดลอย
แต่ละเวลาประทับอยู่ในตั้งแต่ 1 มกราคม 1970 เวลาเที่ยงคืน (ยุค) หลังจากระยะเวลาในการแสดง
ภายใต้โมดูลเวลางูใหญ่มีจำนวนของฟังก์ชั่นที่สามารถแปลงเป็นรูปแบบวันที่พบบ่อย เช่น time.time ฟังก์ชั่น () จะใช้ในการขอรับการประทับเวลาปัจจุบันตัวอย่างต่อไปนี้:
#!/usr/bin/python # -*- coding: UTF-8 -*- import time; # 引入time模块 ticks = time.time() print "当前时间戳为:", ticks
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
当前时间戳为: 1459994552.51
หน่วยการประทับเวลาเหมาะที่สุดที่จะทำวันเลขคณิต แต่ก่อนที่ปี 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/python # -*- coding: UTF-8 -*- 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=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)
คุณสามารถเลือกได้หลากหลายรูปแบบตามความต้องการ แต่ที่ง่ายที่สุดที่จะได้รับฟังก์ชั่นโหมดเวลาอ่านเป็น asctime ():
#!/usr/bin/python # -*- coding: UTF-8 -*- import time localtime = time.asctime( time.localtime(time.time()) ) print "本地时间为 :", localtime
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
本地时间为 : Thu Apr 7 10:05:21 2016
เราสามารถใช้วิธีการโมดูลเวลา strftime เพื่อจัดรูปแบบวันที่:
time.strftime(format[, t])
#!/usr/bin/python # -*- coding: UTF-8 -*- 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:25:09 Thu Apr 07 10:25:09 2016 1459175064.0
งูหลามวันที่และการจัดรูปแบบสัญลักษณ์เวลา:
โมดูลปฏิทินมีหลากหลายวิธีการที่ใช้ในปฏิทินกระบวนการและปฏิทินเช่นการพิมพ์เดือนปฏิทิน:
#!/usr/bin/python # -*- coding: UTF-8 -*- 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 ย้อนกลับไปในพื้นที่เวสต์กรีนวิชของเวลาออมแสงชดเชยในไม่กี่วินาที หากพื้นที่จะถูกส่งกลับในค่าลบตะวันออกกรีนิช (เช่นยุโรปตะวันตกรวมทั้งสหราชอาณาจักร) เปิดใช้งานเพื่อใช้พื้นที่ปรับเวลาตามฤดูกาลที่เหมาะสม |
2 | time.asctime ([tupletime]) ใช้เวลาในการยอมรับและกลับมาเป็นรูปแบบที่อ่าน tuple เป็นสตริง "อังคารที่ 11 ธันวาคม 2008 18:07:14" (11 ธันวาคม 2008 18:07:14 อังคาร) 24 ตัวอักษร |
3 | time.clock () จำนวนวินาทีที่จะกลับมาคำนวณจุดลอยตัวปัจจุบันของเวลา CPU วิธีการที่แตกต่างกันใช้ในการวัดใช้เวลานานกว่า time.time () มีประโยชน์มากขึ้น |
4 | time.ctime ([วินาที]) ทำหน้าที่ asctime (localtime (วินาที)) จะไม่เทียบเท่ากับ asctime พารามิเตอร์ () |
5 | time.gmtime ([วินาที]) timestamps แผนกต้อนรับส่วนหน้า (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) และกลับเวลามาตรฐานกรีนิชเวลาดาราศาสตร์ tuple T หมายเหตุ: t.tm_isdst เสมอ 0 |
6 | time.localtime ([วินาที]) timestamps แผนกต้อนรับส่วนหน้า (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) และกลับไปเวลาท้องถิ่นในเวลาที่ tuple ที (t.tm_isdst ปรารถนา 0 หรือ 1 เวลาท้องถิ่นไม่ได้ขึ้นอยู่กับการปรับเวลาตามฤดูกาล) |
7 | time.mktime (tupletime) ใช้เวลาในการยอมรับและกลับ timestamps tuple (1970 ยุคหลังจากที่จำนวนจุดลอยตัววินาที) |
8 | time.sleep (วินาที) เลื่อนการโทรด้ายกำลังทำงานวินาทีจำนวนวินาที |
9 | time.strftime (FMT [tupletime]) ได้รับเวลา tuple และผลตอบแทนการแสดงสตริงเวลาท้องถิ่นในรูปแบบที่อ่านกำหนดโดย fmt |
10 | time.strptime (Str, fmt = '% a% B% d% H: M%:% s% Y') ตามที่เวลาสตริงรูปแบบ FMT จะถูกตีความว่าเป็น tuple เวลา |
11 | time.time () ส่งกลับการประทับเวลาเวลาปัจจุบัน (ยุค 1970 หลังจากที่จำนวนจุดลอยตัววินาที) |
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 (ธันวาคม) |
ในหลามวันที่และเวลาของโมดูลการประมวลผลอื่น ๆ :