23 เมษายน 2558

Published 4/23/2558 by with 0 comment

วันเวลากับภาษา Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปเขียนโปรแกรมภาษา Python เรื่องวันเวลากันครับ

ในการเขียนโปรแกรมภาษา Python ในการดึงข้อมูลวันและเวลา มีไลบรารีรองรับ 2 ไลบรารีดังนี้

  1. ไลบรารี time สำหรับเข้าถึงข้อมูลเวลา

  2. ไลบรารี datetime สำหรับเข้าถึงข้อมูลวันและเวลา


ไลบรารี time


เป็นไลบรารีสำหรับเข้าถึงเวลา
ในการใช้งานไลบรารีนี้ต้อง

[python]import time[/python]

เข้ามาทุกครั้งครับ

คำสั่งดึงข้อมูลเวลา Unix
เวลาของระบบปฎิบัติการ Unix เริ่มต้นขึ้นวันที่ 1 มกราคม ค.ศ. 1970 โดยเวลาของ Unix มีหน่วยเป็นวินาที

[python]time.time()[/python]

เช่น

[python]
>>> import time
>>> print(time.time())
1429778332.527298
[/python]

คำสั่งดึงข้อมูลเวลาจากเครื่อง

[python]time.localtime()[/python]

โดยข้อมูลจะออกเป็น tuple

[python]
>>> 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)
[/python]

หากต้องการดึงข้อมูลชั่วโมง เวลา และ วินาที สามารถทำได้ง่าย ๆ ตามตัวอย่างนี้ครับ

[python]
>>> import time
>>> timeis = time.localtime()
>>> print("เวลา : ",timeis.tm_hour,":",timeis.tm_min,":",timeis.tm_sec)
เวลา : 15 : 24 : 11
[/python]

คำสั่งรับข้อมูลเวลาในรูปแบบสตริง

[python]time.ctime()[/python]

เช่น

[python]
>>> import time
>>> time.ctime()
'Thu Apr 23 15:42:52 2015'
[/python]

คำสั่งกำหนดการแสดงข้อมูลเวลา

[python]
time.strftime(format[, t])
[/python]

เช่น

[python]
>>> 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
[/python]

ดูค่าข้อมูล format time ได้ที่ http://docs.python.org/library/time.html#time.strftime

คำสั่งแปลงเวลากลับไปเป็นเวลา Unix

[python]
time.mktime()
[/python]

เช่น

[python]
>>> import time
>>> timeis = time.localtime()
>>> time.mktime(timeis)
1429777451.0
[/python]

คำสั่งหน่วงเวลาของระบบ

[python]
time.sleep(วินาที)
[/python]

เช่น

[python]time.sleep(2)[/python]

เวลาจะเดินช้าลง 2 วินาทีครับ




 

ไลบรารี datetime


เป็นไลบรารีสำหรับเข้าถึงข้อมูลวันและเวลา
ในการใช้งานไลบรารีนี้ต้อง

[python]import datetime[/python]

เข้ามาทุกครั้งครับ

คำสั่งดึงข้อมูลเวลา

[python]
datetime.datetime.now()
[/python]

เช่น

[python]
import datetime
now = datetime.datetime.now()
print(now)
[/python]

ผลลัพธ์
2015-04-23 15:58:54.626620
สามารถกำหนดข้อมูลที่ต้องการดึงได้ดังนี้ครับ

[python]
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)
[/python]

ผลลัพธ์
ปี : 2015
เดือน : 4
วันที่ : 23
ชั่งโมง : 16
นาที : 7
วินาที : 47
ไมโครวินาที : 837812

คำสั่งแสดง ปี เดือน วัน

[python]datetime.date.today()[/python]

เช่น

[python]
>>> from datetime import date
>>> today = date.today()
>>> today
datetime.date(2015, 4, 23)
[/python]

คำสั่งแสดงเวลาหลังเริ่มต้นค.ศ.
คำสั่งนี้ ค.ศ. เริ่มต้นวันที่ 1 มกราคม ค.ศ. 1

[python]date.fromordinal(จำนวนวันหลังเริ่มต้น ค.ศ.)[/python]

เช่น

[python]
>>> from datetime import date
>>> d = date.fromordinal(730920) # วันที่ 730920 หลังวันที่ 1. 1. 0001
>>> d
datetime.date(2002, 3, 11)
[/python]

คำสั่งแสดงเวลาในรูปแบบ isoformat

[python]datetime.date.isoformat()[/python]

เช่น

[python]
>>> import datetime
>>> now = datetime.datetime.now()
>>> print(now.isoformat())
2015-04-23T16:22:16.876522
[/python]

คำสั่งจัดรูปแบบเวลา datetime

[python]datetime.strftime(format)[/python]

เช่น

[python]
>>> 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'
[/python]

ดูค่าข้อมูล 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
ตัวอย่างการใช้งาน

[python]
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)
[/python]

ผลลัพธ์

[python]
Week 2015W04 starts on 2015-01-19
Current week number is 17
Next week is 2015W18
[/python]

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)