23 เมษายน 2558

Published เมษายน 23, 2558 by with 0 comment

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

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

ในการเขียนโปรแกรมภาษา Python ในการดึงข้อมูลวันและเวลา มีไลบรารีรองรับ 2 ไลบรารีดังนี้
  1. ไลบรารี time สำหรับเข้าถึงข้อมูลเวลา
  2. ไลบรารี 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 ความคิดเห็น:

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

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