ในการเขียนโปรแกรมภาษา Python ในการดึงข้อมูลวันและเวลา มีไลบรารีรองรับ 2 ไลบรารีดังนี้
- ไลบรารี time สำหรับเข้าถึงข้อมูลเวลา
- ไลบรารี datetime สำหรับเข้าถึงข้อมูลวันและเวลา
ไลบรารี time
เป็นไลบรารีสำหรับเข้าถึงเวลา
ในการใช้งานไลบรารีนี้ต้อง
import time
เข้ามาทุกครั้งครับ
คำสั่งดึงข้อมูลเวลา Unix
เวลาของระบบปฎิบัติการ Unix เริ่มต้นขึ้นวันที่ 1 มกราคม ค.ศ. 1970 โดยเวลาของ Unix มีหน่วยเป็นวินาที
time.time()
เช่น
>>> import time
>>> print(time.time())
1429778332.527298
คำสั่งดึงข้อมูลเวลาจากเครื่อง
time.localtime()
โดยข้อมูลจะออกเป็น tuple
>>> import time
>>> timeis = time.localtime()
>>> print(timeis)
time.struct_time(tm_year=2015, tm_mon=4, tm_mday=23, tm_hour=15, tm_min=24, tm_sec=11, tm_wday=3, tm_yday=113, tm_isdst=0)
หากต้องการดึงข้อมูลชั่วโมง เวลา และ วินาที สามารถทำได้ง่าย ๆ ตามตัวอย่างนี้ครับ
>>> import time
>>> timeis = time.localtime()
>>> print("เวลา : ",timeis.tm_hour,":",timeis.tm_min,":",timeis.tm_sec)
เวลา : 15 : 24 : 11
คำสั่งรับข้อมูลเวลาในรูปแบบสตริง
time.ctime()
เช่น
>>> import time
>>> time.ctime()
'Thu Apr 23 15:42:52 2015'
คำสั่งกำหนดการแสดงข้อมูลเวลา
time.strftime(format[, t])
เช่น
>>> import time
>>> timeis = time.localtime()
>>> a = time.strftime('%A %d %B %Y, %H:%M:%S', timeis)
>>> print(a)
Thursday 23 April 2015, 15:24:11
ดูค่าข้อมูล format time ได้ที่ http://docs.python.org/library/time.html#time.strftime
คำสั่งแปลงเวลากลับไปเป็นเวลา Unix
time.mktime()
เช่น
>>> import time
>>> timeis = time.localtime()
>>> time.mktime(timeis)
1429777451.0
คำสั่งหน่วงเวลาของระบบ
time.sleep(วินาที)
เช่น
time.sleep(2)
เวลาจะเดินช้าลง 2 วินาทีครับ
ไลบรารี datetime
เป็นไลบรารีสำหรับเข้าถึงข้อมูลวันและเวลา
ในการใช้งานไลบรารีนี้ต้อง
import datetime
เข้ามาทุกครั้งครับ
คำสั่งดึงข้อมูลเวลา
datetime.datetime.now()
เช่น
import datetime
now = datetime.datetime.now()
print(now)
ผลลัพธ์
2015-04-23 15:58:54.626620
สามารถกำหนดข้อมูลที่ต้องการดึงได้ดังนี้ครับ
import datetime
now = datetime.datetime.now()
print("ปี : %d" % now.year)
print("เดือน : %d" % now.month)
print("วันที่ : %d" % now.day)
print("ชั่งโมง : %d" % now.hour)
print("นาที : %d" % now.minute)
print("วินาที : %d" % now.second)
print("ไมโครวินาที : %d" % now.microsecond)
ผลลัพธ์
ปี : 2015
เดือน : 4
วันที่ : 23
ชั่งโมง : 16
นาที : 7
วินาที : 47
ไมโครวินาที : 837812
คำสั่งแสดง ปี เดือน วัน
datetime.date.today()
เช่น
>>> from datetime import date
>>> today = date.today()
>>> today
datetime.date(2015, 4, 23)
คำสั่งแสดงเวลาหลังเริ่มต้นค.ศ.
คำสั่งนี้ ค.ศ. เริ่มต้นวันที่ 1 มกราคม ค.ศ. 1
date.fromordinal(จำนวนวันหลังเริ่มต้น ค.ศ.)
เช่น
>>> from datetime import date
>>> d = date.fromordinal(730920) # วันที่ 730920 หลังวันที่ 1. 1. 0001
>>> d
datetime.date(2002, 3, 11)
คำสั่งแสดงเวลาในรูปแบบ isoformat
datetime.date.isoformat()
เช่น
>>> import datetime
>>> now = datetime.datetime.now()
>>> print(now.isoformat())
2015-04-23T16:22:16.876522
คำสั่งจัดรูปแบบเวลา datetime
datetime.strftime(format)
เช่น
>>> from datetime import datetime, date, time
>>> dt = datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")
>>> dt
datetime.datetime(2006, 11, 21, 16, 30)
>>> dt.strftime("%A, %d. %B %Y %I:%M%p")
'Tuesday, 21. November 2006 04:30PM'
ดูค่าข้อมูล format datetime ได้ที่ https://docs.python.org/3/library/time.html#time.strftime
โมดูล isoweek
เป็นโมดูลสำหรับใช้แสดงค่า ISO week ครับ
รองรับทั้ง Python 2 , Python 3
ใช้ License: BSD
สามารถติดตั้งได้โดยใช้คำสั่ง pip:
pip install isoweek
ตัวอย่างการใช้งาน
from isoweek import Week
w = Week(2015, 4) # Week(ปี, สัปดาห์)
print("Week %s starts on %s" % (w, w.monday()))
print("Current week number is", Week.thisweek().week)
print("Next week is", Week.thisweek() + 1)
ผลลัพธ์
Week 2015W04 starts on 2015-01-19
Current week number is 17
Next week is 2015W18
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)