Latest web development tutorials

วันที่และเวลาหลาม

โปรแกรม 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



tuple เวลาคืออะไร?

ฟังก์ชั่นหลามหลายคนที่มีหนึ่งหยวนประกอบการตั้งเวลาการประมวลผลดิจิตอลของ 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

งูหลามวันที่และการจัดรูปแบบสัญลักษณ์เวลา:

  • % Y หมายถึงปีสองหลัก (00-99)
  • % Y หมายถึงปีสี่หลัก (000-9999)
  • M% เดือน (01-12)
  • ภายใน% d เดือนของวัน (0-31)
  • H% ชั่วโมงนาฬิกา 24 ชั่วโมง (0-23)
  • % ฉัน 12 ชั่วโมงนาฬิกาชั่วโมง (01-12)
  • จำนวน% M (00 = 59) นาที
  • วินาที% S (00-59)
  • % สัปดาห์ลดความซับซ้อนของชื่อท้องถิ่น
  • % ท้องถิ่นชื่อในวันทำงานเต็มรูปแบบ
  • % B ชื่อเดือนลดความซับซ้อนของท้องถิ่น
  • % B ชื่อเต็มเดือนในประเทศ
  • C% วันท้องถิ่นเป็นตัวแทนที่สอดคล้องกันและการแสดงเวลา
  • วัน j% ของปี (001-366)
  • p% AM หรือ PM ท้องถิ่นตัวอักษรเทียบเท่า
  • ของ% U หลายครั้งต่อปี (00-53) ในวันอาทิตย์สัปดาห์สำหรับสัปดาห์แรก
  • % W สัปดาห์ (0-6), วันอาทิตย์เป็นจุดเริ่มต้นของสัปดาห์
  • W% ของจำนวนปี (00-53) สำหรับสัปดาห์แรกจันทร์สัปดาห์
  • X% สอดคล้องกับการแสดงวันที่ในท้องถิ่น
  • X% สอดคล้องกับการแสดงเวลาท้องถิ่น
  • ชื่อ% Z โซนเวลาปัจจุบัน
  • %%% จำนวนตัวเอง

รับเดือนปฏิทิน

โมดูลปฏิทินมีหลากหลายวิธีการที่ใช้ในปฏิทินกระบวนการและปฏิทินเช่นการพิมพ์เดือนปฏิทิน:

#!/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) โมดูล

ฟังก์ชั่นโมดูลนี้จะเกี่ยวข้องกับปฏิทินเช่นการพิมพ์เดือนปฏิทินตัวอักษร

วันจันทร์เป็นวันแรกที่เริ่มต้นของสัปดาห์วันอาทิตย์เป็นวันสุดท้ายของการเริ่มต้น เปลี่ยนการตั้งค่าที่จะเรียกว่า 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 (ธันวาคม)


โมดูลที่เกี่ยวข้องอื่น ๆ และฟังก์ชั่น

ในหลามวันที่และเวลาของโมดูลการประมวลผลอื่น ๆ :