โมดูล / วิธีใช้ในการรับเวลาปัจจุบันคืออะไร?
โมดูล / วิธีใช้ในการรับเวลาปัจจุบันคืออะไร?
คำตอบ:
ใช้:
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2009, 1, 6, 15, 8, 24, 78915)
>>> print(datetime.datetime.now())
2009-01-06 15:08:24.789150
และเพียงแค่เวลา:
>>> datetime.datetime.now().time()
datetime.time(15, 8, 24, 78915)
>>> print(datetime.datetime.now().time())
15:08:24.789150
ดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติม
หากต้องการบันทึกการพิมพ์คุณสามารถนำเข้าdatetime
วัตถุจากdatetime
โมดูล:
>>> from datetime import datetime
จากนั้นนำผู้นำdatetime.
ทั้งหมดที่กล่าวมา
datetime.datetime.now()
ในคอนโซลการโต้ตอบ Python 2.7 (IronPython ยังไม่ได้อัปเดต) ทำให้ฉันมีพฤติกรรมเช่นเดียวกับตัวอย่างใหม่ที่ใช้print()
ในคำตอบ ฉันยังทำซ้ำไม่สำเร็จสิ่งที่คำตอบเดิมแสดง (datetime.datetime (2009, 1, 6, 15, 8, 24, 78915)) (ไม่ใช่ว่าฉันต้องการจริงๆพฤติกรรมการพิมพ์ () เป็นที่ต้องการ แต่ฉันอยากรู้อยากเห็น)
datetime.now()
ด้วยตัวเองมันจะพิมพ์ออกมาเหมือนกันกับที่คำตอบของคุณแสดงให้เห็นprint(datetime.now())
...
คุณสามารถใช้time.strftime()
:
>>> from time import gmtime, strftime
>>> strftime("%Y-%m-%d %H:%M:%S", gmtime())
'2009-01-05 22:14:39'
time
โมดูลกับdatetime
โมดูล?
localtime()
แทนการgmtime()
รับเวลาท้องถิ่นของคุณ
from datetime import datetime
datetime.now().strftime('%Y-%m-%d %H:%M:%S')
สำหรับตัวอย่างนี้ผลลัพธ์จะเป็นดังนี้: '2013-09-18 11:16:32'
นี่คือรายการของคำสั่งstrftime
คล้ายกับคำตอบของ Harleyแต่ใช้str()
ฟังก์ชั่นสำหรับรูปแบบที่อ่านง่ายและสกปรกมากกว่ามนุษย์เล็กน้อย:
>>> from datetime import datetime
>>> str(datetime.now())
'2011-05-03 17:45:35.177000'
ฉันจะรับเวลาปัจจุบันใน Python ได้อย่างไร
time
โมดูลtime
โมดูลให้ฟังก์ชั่นที่บอกเราได้ตลอดเวลาใน "วินาทีตั้งแต่ยุค" รวมถึงสาธารณูปโภคอื่น ๆ
import time
นี่คือรูปแบบที่คุณควรใช้เพื่อบันทึกเวลาในการบันทึกในฐานข้อมูล เป็นเลขทศนิยมที่สามารถแปลงเป็นจำนวนเต็มได้ นอกจากนี้ยังเป็นสิ่งที่ดีสำหรับการคำนวณทางคณิตศาสตร์ในไม่กี่วินาทีเนื่องจากมันแสดงถึงจำนวนวินาทีตั้งแต่ 1 มกราคม 1970 00:00:00 และเป็นแสงหน่วยความจำที่เกี่ยวข้องกับการเป็นตัวแทนอื่น ๆ ของเวลาที่เราจะดูต่อไป:
>>> time.time()
1424233311.771502
เวลาประทับนี้ไม่ได้พิจารณาสำหรับวินาทีกระโดดดังนั้นจึงไม่ใช่เชิงเส้น - วินาทีวินาทีจะถูกข้าม ดังนั้นแม้ว่าจะไม่เทียบเท่ากับมาตรฐาน UTC สากล แต่ก็ใกล้เคียงดังนั้นจึงค่อนข้างดีสำหรับกรณีส่วนใหญ่ของการเก็บบันทึก
อย่างไรก็ตามนี่ไม่เหมาะสำหรับการตั้งเวลาของมนุษย์ หากคุณมีเหตุการณ์ในอนาคตที่คุณต้องการที่จะเกิดขึ้นในช่วงเวลาหนึ่งคุณจะต้องการเก็บเวลานั้นด้วยสตริงที่สามารถแยกวิเคราะห์ลงในวัตถุ datetime หรือวัตถุ datetime อนุกรม (สิ่งเหล่านี้จะอธิบายในภายหลัง)
time.ctime
คุณยังสามารถแสดงเวลาปัจจุบันตามที่ระบบปฏิบัติการของคุณต้องการ (ซึ่งหมายความว่ามันสามารถเปลี่ยนแปลงได้เมื่อคุณเปลี่ยนการตั้งค่าระบบของคุณดังนั้นอย่าพึ่งพาสิ่งนี้ให้เป็นมาตรฐานในทุกระบบตามที่ฉันเห็นคนอื่นคาดหวัง) . โดยทั่วไปจะเป็นมิตรกับผู้ใช้ แต่โดยทั่วไปแล้วจะไม่ส่งผลให้เกิดสตริงที่เรียงลำดับตามลำดับเวลา:
>>> time.ctime()
'Tue Feb 17 23:21:56 2015'
คุณสามารถชุ่มชื้น timestamps ลงในแบบฟอร์มการอ่านของมนุษย์ด้วยctime
เช่นกัน:
>>> time.ctime(1424233311.771502)
'Tue Feb 17 23:21:51 2015'
การแปลงนี้ยังไม่ดีสำหรับการเก็บบันทึก (ยกเว้นในข้อความที่จะแยกวิเคราะห์โดยมนุษย์ - และด้วยการปรับปรุงการรู้จำอักขระด้วยแสงและปัญญาประดิษฐ์ที่ปรับปรุงแล้วฉันคิดว่าจำนวนของกรณีเหล่านี้จะลดน้อยลง)
datetime
โมดูลdatetime
โมดูลยังเป็นประโยชน์มากที่นี่:
>>> import datetime
datetime.datetime.now
datetime.now
เป็นวิธีการเรียนที่ส่งกลับเวลาปัจจุบัน มันใช้ข้อมูลที่time.localtime
ไม่มีเขตเวลา (หากไม่ได้รับมิฉะนั้นให้ดูเขตเวลาที่ทราบด้านล่าง) มันมีการแสดง (ซึ่งจะช่วยให้คุณสร้างวัตถุที่เทียบเท่า) สะท้อนบนเปลือก แต่เมื่อพิมพ์ (หรือบีบอัดเพื่อ a str
) มันอยู่ในรูปแบบที่มนุษย์สามารถอ่านได้ (และเกือบ ISO) และการเรียงลำดับพจนานุกรมจะเทียบเท่ากับ เรียงลำดับเหตุการณ์:
>>> datetime.datetime.now()
datetime.datetime(2015, 2, 17, 23, 43, 49, 94252)
>>> print(datetime.datetime.now())
2015-02-17 23:43:51.782461
utcnow
คุณสามารถรับวัตถุ datetime ในเวลา UTC ซึ่งเป็นมาตรฐานสากลโดยทำสิ่งนี้:
>>> datetime.datetime.utcnow()
datetime.datetime(2015, 2, 18, 4, 53, 28, 394163)
>>> print(datetime.datetime.utcnow())
2015-02-18 04:53:31.783988
UTC เป็นมาตรฐานเวลาที่เกือบเทียบเท่ากับเขตเวลา GMT (แม้ว่า GMT และ UTC จะไม่เปลี่ยนแปลงตามเวลาออมแสงผู้ใช้อาจเปลี่ยนไปใช้โซนเวลาอื่น ๆ เช่น British Summer Time ในช่วงฤดูร้อน)
อย่างไรก็ตามไม่มีวัตถุ datetime ที่เราสร้างขึ้นเพื่อให้สามารถแปลงเป็นเขตเวลาต่างๆได้อย่างง่ายดาย เราสามารถแก้ปัญหานั้นได้ด้วยpytz
โมดูล:
>>> import pytz
>>> then = datetime.datetime.now(pytz.utc)
>>> then
datetime.datetime(2015, 2, 18, 4, 55, 58, 753949, tzinfo=<UTC>)
เทียบเท่าใน Python 3 เรามีtimezone
คลาสที่มีtimezone
อินสแตนซ์utc แนบอยู่ซึ่งทำให้เขตเวลาของวัตถุทราบ (แต่จะแปลงเป็นเขตเวลาอื่นโดยไม่มีpytz
โมดูลที่ใช้งานง่ายเหลือไว้เพื่อการออกกำลังกายไปยังผู้อ่าน):
>>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2015, 2, 18, 22, 31, 56, 564191, tzinfo=datetime.timezone.utc)
และเราเห็นว่าเราสามารถแปลงเป็นเขตเวลาจากวัตถุ utc ดั้งเดิมได้อย่างง่ายดาย
>>> print(then)
2015-02-18 04:55:58.753949+00:00
>>> print(then.astimezone(pytz.timezone('US/Eastern')))
2015-02-17 23:55:58.753949-05:00
คุณยังสามารถทำให้วัตถุไร้เดียงสาวันที่และpytz
เวลาทราบด้วยlocalize
วิธีการเขตเวลาหรือโดยการแทนที่แอตทริบิวต์ tzinfo (ด้วยreplace
สิ่งนี้จะทำสุ่มสี่สุ่มห้า) แต่สิ่งเหล่านี้เป็นวิธีสุดท้ายมากกว่าแนวทางปฏิบัติที่ดีที่สุด:
>>> pytz.utc.localize(datetime.datetime.utcnow())
datetime.datetime(2015, 2, 18, 6, 6, 29, 32285, tzinfo=<UTC>)
>>> datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
datetime.datetime(2015, 2, 18, 6, 9, 30, 728550, tzinfo=<UTC>)
pytz
โมดูลที่ช่วยให้เราเพื่อให้เราdatetime
วัตถุเขตตระหนักและแปลงครั้งไปหลายร้อยเขตเวลาที่มีอยู่ในpytz
โมดูล
เราสามารถทำให้วัตถุนี้ต่อเนื่องเป็นเวลา UTC และจัดเก็บสิ่งนั้นได้อยู่ในฐานข้อมูล แต่มันจะต้องมีหน่วยความจำมากขึ้นและมีแนวโน้มที่จะเกิดข้อผิดพลาดมากกว่าเพียงแค่การจัดเก็บในเวลา Unix Epoch ซึ่งผมแสดงให้เห็นเป็นครั้งแรก
อีกวิธีหนึ่งในการดูเวลานั้นเกิดข้อผิดพลาดได้ง่ายขึ้นโดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับข้อมูลที่อาจมาจากเขตเวลาที่แตกต่างกัน คุณต้องการที่จะไม่มีความสับสนว่าเขตเวลาใดที่สตริงหรือวัตถุวันที่และเวลาแบบอนุกรมนั้นมีไว้สำหรับ
หากคุณแสดงเวลาด้วย Python สำหรับผู้ใช้ctime
ทำงานได้ดีไม่ใช่ในตาราง (โดยทั่วไปแล้วมันจะไม่ค่อยเรียงลำดับที่ดี) แต่อาจอยู่ในนาฬิกา อย่างไรก็ตามฉันแนะนำเป็นการส่วนตัวเมื่อต้องจัดการกับเวลาใน Python ไม่ว่าจะเป็นการใช้เวลา Unix หรือdatetime
วัตถุUTC เขตเวลาที่ทราบ
ทำ
from time import time
t = time()
t
- จำนวนลอยเหมาะสำหรับการวัดช่วงเวลามีความแตกต่างบางประการสำหรับแพลตฟอร์ม Unix และ Windows
>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %X +0000", gmtime())
'Tue, 06 Jan 2009 04:54:56 +0000'
ที่ส่งออก GMT ปัจจุบันในรูปแบบที่ระบุ นอกจากนี้ยังมีlocaltime()
วิธีการ
หน้านี้มีรายละเอียดเพิ่มเติม
คำตอบก่อนหน้านี้เป็นคำแนะนำที่ดี แต่ฉันคิดว่ามันใช้ง่ายที่สุดctime()
:
In [2]: from time import ctime
In [3]: ctime()
Out[3]: 'Thu Oct 31 11:40:53 2013'
สิ่งนี้ให้การแทนค่าสตริงที่จัดรูปแบบเป็นอย่างดีของเวลาท้องถิ่นปัจจุบัน
วิธีที่เร็วที่สุดคือ:
>>> import time
>>> time.strftime("%Y%m%d")
'20130924'
หากคุณต้องการเวลาปัจจุบันเป็นtime
วัตถุ:
>>> import datetime
>>> now = datetime.datetime.now()
>>> datetime.time(now.hour, now.minute, now.second)
datetime.time(11, 23, 44)
.isoformat()
อยู่ในเอกสาร แต่ยังไม่ได้อยู่ที่นี่ (นี่เป็นคำตอบที่ยิ่งใหญ่คล้ายกับ @Ray Vega):
>>> import datetime
>>> datetime.datetime.now().isoformat()
'2013-06-24T20:35:55.982000'
ทำไมไม่ถามUS Naval Observatoryผู้จับเวลาอย่างเป็นทางการของกองทัพเรือสหรัฐฯ
import requests
from lxml import html
page = requests.get('http://tycho.usno.navy.mil/cgi-bin/timer.pl')
tree = html.fromstring(page.content)
print(tree.xpath('//html//body//h3//pre/text()')[1])
หากคุณอาศัยอยู่ในพื้นที่ DC (เช่นฉัน) เวลาในการตอบสนองอาจไม่เลวร้ายเกินไป ...
การใช้หมีแพนด้าเพื่อให้ได้เวลาปัจจุบันให้จัดการปัญหามากเกินไป:
import pandas as pd
print(pd.datetime.now())
print(pd.datetime.now().date())
print(pd.datetime.now().year)
print(pd.datetime.now().month)
print(pd.datetime.now().day)
print(pd.datetime.now().hour)
print(pd.datetime.now().minute)
print(pd.datetime.now().second)
print(pd.datetime.now().microsecond)
เอาท์พุท:
2017-09-22 12:44:56.092642
2017-09-22
2017
9
22
12
44
56
92693
นี่คือสิ่งที่ฉันลงเอยด้วย:
>>>from time import strftime
>>>strftime("%m/%d/%Y %H:%M")
01/09/2015 13:11
นอกจากนี้ตารางนี้ยังเป็นข้อมูลอ้างอิงที่จำเป็นสำหรับการเลือกรหัสรูปแบบที่เหมาะสมเพื่อให้ได้รับการจัดรูปแบบวันที่ตามที่คุณต้องการ (จากเอกสาร Python "datetime" ที่นี่ )
strftime(time_format)
time_format
ส่งกลับเวลาท้องถิ่นปัจจุบันเป็นสตริงที่สอดคล้องกับที่กำหนด หมายเหตุ: การtime.strftime()
และdatetime.strftime()
สนับสนุนชุดคำสั่งที่แตกต่างกันเช่นการ%z
ไม่ได้รับการสนับสนุนโดยtime.strftime()
ในหลาม 2
time
ฟังก์ชั่นโมดูลหลายตัวเป็นตัวห่อรอบฟังก์ชัน C datetime
เป็นระดับที่สูงขึ้นและมักพกพาได้มากกว่า
หากคุณใช้งาน numpy อยู่แล้วคุณสามารถใช้ numpy.datetime64 () ฟังก์ชันได้โดยตรง
import numpy as np
str(np.datetime64('now'))
สำหรับวันที่เท่านั้น:
str(np.datetime64('today'))
หรือถ้าคุณใช้แพนด้าอยู่แล้วคุณสามารถใช้ฟังก์ชัน pandas.to_datetime ()
import pandas as pd
str(pd.to_datetime('now'))
หรือ,
str(pd.to_datetime('today'))
คุณสามารถใช้time
โมดูล:
import time
print time.strftime("%d/%m/%Y")
>>> 06/02/2015
การใช้เงินทุนY
ให้เต็มปีและการใช้y
จะให้06/02/15
จะให้
คุณสามารถใช้รหัสต่อไปนี้เพื่อให้เวลานานขึ้น:
time.strftime("%a, %d %b %Y %H:%M:%S")
>>> 'Fri, 06 Feb 2015 17:45:09'
datetime.now()
ส่งคืนเวลาปัจจุบันเป็นออบเจ็กต์ไร้เดียงสาที่แสดงเวลาในเขตเวลาท้องถิ่น ค่านั้นอาจไม่ชัดเจนเช่นในระหว่างการเปลี่ยน DST ("ถอยกลับ") เพื่อหลีกเลี่ยงความคลุมเครือควรใช้เขตเวลา UTC:
from datetime import datetime
utc_time = datetime.utcnow()
print(utc_time) # -> 2014-12-22 22:48:59.916417
หรือวัตถุที่รับรู้เขตเวลาที่มีข้อมูลเขตเวลาที่สอดคล้องกัน (Python 3.2+):
from datetime import datetime, timezone
now = datetime.now(timezone.utc).astimezone()
print(now) # -> 2014-12-23 01:49:25.837541+03:00
import datetime
date_time = datetime.datetime.now()
date = date_time.date() # Gives the date
time = date_time.time() # Gives the time
print date.year, date.month, date.day
print time.hour, time.minute, time.second, time.microsecond
ทำdir(date)
หรือตัวแปรใด ๆ รวมถึงแพ็คเกจ คุณสามารถรับคุณลักษณะและวิธีการทั้งหมดที่เกี่ยวข้องกับตัวแปร
import datetime
เป็นเช่นนั้นdatetime.datetime.now()
\ n ถ้าfrom datetime import datetime
เป็นเช่นนั้นdatetime.now()
>>> import datetime, time
>>> time = time.strftime("%H:%M:%S:%MS", time.localtime())
>>> print time
'00:21:38:20S'
โดยค่าเริ่มต้นnow()
ฟังก์ชั่นส่งกลับออกในYYYY-MM-DD HH:MM:SS:MS
รูปแบบ ใช้สคริปต์ตัวอย่างด้านล่างเพื่อรับวันที่และเวลาปัจจุบันในสคริปต์ Python และพิมพ์ผลลัพธ์บนหน้าจอ สร้างไฟล์ที่getDateTime1.py
มีเนื้อหาด้านล่าง
import datetime
currentDT = datetime.datetime.now()
print (str(currentDT))
ผลลัพธ์มีลักษณะดังนี้:
2018-03-01 17:03:46.759624
คำถามนี้ไม่ต้องการคำตอบใหม่เพียงเพื่อประโยชน์ของมัน ... ของเล่น / โมดูล ish ใหม่ที่สวยงามอย่างไรก็ตามมีเหตุผลเพียงพอ นั่นคือห้องสมุดลูกตุ้มซึ่งดูเหมือนจะทำสิ่งต่าง ๆ ที่ลูกศรพยายามยกเว้นโดยไม่มีข้อบกพร่องและข้อบกพร่องที่แฝงอยู่ซึ่งลูกศร
ตัวอย่างเช่นคำตอบของคำถามเดิม:
>>> import pendulum
>>> print(pendulum.now())
2018-08-14T05:29:28.315802+10:00
>>> print(pendulum.now('utc'))
2018-08-13T19:29:35.051023+00:00
มีมาตรฐานจำนวนมากที่ต้องการการระบุที่อยู่รวมถึง RFC หลายอันและ ISO ที่ต้องกังวล เคยผสมกัน ไม่ต้องกังวลลองดูเล็กน้อยว่าdir(pendulum.constants)
มีรูปแบบมากกว่า RFC และ ISO เล็กน้อย
เมื่อเราพูดท้องถิ่นแม้ว่าเราหมายถึงอะไร ฉันหมายถึง:
>>> print(pendulum.now().timezone_name)
Australia/Melbourne
>>>
ส่วนใหญ่ของคุณที่เหลือคงหมายถึงที่อื่น
และเมื่อมันไป เรื่องสั้นแบบสั้น: ลูกตุ้มพยายามทำตามวันและเวลาที่คำขอทำเพื่อ HTTP มันควรค่าแก่การพิจารณาโดยเฉพาะอย่างยิ่งสำหรับทั้งความง่ายในการใช้งานและเอกสารประกอบมากมาย
เวลาปัจจุบันของเขตเวลา
from datetime import datetime
import pytz
tz_NY = pytz.timezone('America/New_York')
datetime_NY = datetime.now(tz_NY)
print("NY time:", datetime_NY.strftime("%H:%M:%S"))
tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London time:", datetime_London.strftime("%H:%M:%S"))
tz_India = pytz.timezone('Asia/India')
datetime_India = datetime.now(tz_India)
print("India time:", datetime_India.strftime("%H:%M:%S"))
#list timezones
pytz.all_timezones
ลองใช้โมดูลลูกศรจากhttp://crsmithdev.com/arrow/ :
import arrow
arrow.now()
หรือเวอร์ชัน UTC:
arrow.utcnow()
หากต้องการเปลี่ยนเอาต์พุตให้เพิ่ม. format ():
arrow.utcnow().format('YYYY-MM-DD HH:mm:ss ZZ')
สำหรับเขตเวลาเฉพาะ:
arrow.now('US/Pacific')
ชั่วโมงที่ผ่านมา:
arrow.utcnow().replace(hours=-1)
หรือถ้าคุณต้องการส่วนสำคัญ
arrow.get('2013-05-11T21:23:58.970460+00:00').humanize()
>>> '2 years ago'
arrow.now('Time/Zone')
อาจล้มเหลวในบางเขตเวลา (การarrow
ใช้งานdateutil
ที่ทำให้ utc -> การแปลงในเครื่องที่ใช้ภายในarrow.now()
เสียหายหมายเหตุ: pytz
ไม่มีปัญหาดังกล่าวนอกจากนี้ยังมีปัญหาอื่น ๆ ที่เกี่ยวข้องกับเขตเวลา
ฉันต้องการใช้เวลาเป็นมิลลิวินาที วิธีง่ายๆในการรับ:
import time, datetime
print(datetime.datetime.now().time()) # 11:20:08.272239
# Or in a more complicated way
print(datetime.datetime.now().time().isoformat()) # 11:20:08.272239
print(datetime.datetime.now().time().strftime('%H:%M:%S.%f')) # 11:20:08.272239
# But do not use this:
print(time.strftime("%H:%M:%S.%f", time.localtime()), str) # 11:20:08.%f
แต่ฉันต้องการแค่มิลลิวินาทีเท่านั้นใช่ไหม วิธีที่สั้นที่สุดที่จะได้มา:
import time
time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 1000)
# 11:34:23.751
เพิ่มหรือลบเลขศูนย์จากการคูณครั้งล่าสุดเพื่อปรับจำนวนจุดทศนิยมหรือเพียงแค่:
def get_time_str(decimal_points=3):
return time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 10**decimal_points)
คุณสามารถใช้ฟังก์ชั่นนี้เพื่อให้ได้เวลา (น่าเสียดายที่ไม่ได้บอกว่าเป็น AM หรือ PM):
def gettime():
from datetime import datetime
return ((str(datetime.now())).split(' ')[1]).split('.')[0]
ในการรับชั่วโมงนาทีวินาทีและมิลลิวินาทีเพื่อรวมในภายหลังคุณสามารถใช้ฟังก์ชันเหล่านี้:
ชั่วโมง:
def gethour():
from datetime import datetime
return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[0]
นาที:
def getminute():
from datetime import datetime
return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[1]
ประการที่สอง:
def getsecond():
from datetime import datetime
return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[2]
มิลลิวินาที:
def getmillisecond():
from datetime import datetime
return (str(datetime.now())).split('.')[1]
หากคุณต้องการให้เวลาประทับปัจจุบันเป็น ms (ตัวอย่างเช่นเพื่อวัดเวลาดำเนินการ) คุณสามารถใช้โมดูล "timeit":
import timeit
start_time = timeit.default_timer()
do_stuff_you_want_to_measure()
end_time = timeit.default_timer()
print("Elapsed time: {}".format(end_time - start_time))
ต่อไปนี้เป็นสิ่งที่ฉันใช้เพื่อรับเวลาโดยไม่ต้องจัดรูปแบบ บางคนไม่ชอบวิธีการแยก แต่มีประโยชน์ที่นี่:
from time import ctime
print ctime().split()[3]
มันจะพิมพ์ในรูปแบบ HH: MM: SS
เพราะยังไม่มีใครพูดถึงและนี่คือสิ่งที่ฉันพบเมื่อเร็ว ๆ นี้ ... วิธี fromutc () ของ pytz timezone รวมกับ utcnow ของ datetime () เป็นวิธีที่ดีที่สุดที่ฉันพบว่าได้รับเวลาปัจจุบันที่มีประโยชน์ (และวันที่) ในเขตเวลาใดก็ได้
from datetime import datetime
import pytz
JST = pytz.timezone("Asia/Tokyo")
local_time = JST.fromutc(datetime.utcnow())
local_time.time()
หากสิ่งที่คุณต้องการคือเวลาที่คุณจะได้รับแล้วว่ามีการ
คำถามนี้มีไว้สำหรับ Python แต่เนื่องจาก Django เป็นหนึ่งในเฟรมเวิร์กที่ใช้กันอย่างแพร่หลายสำหรับ Python สิ่งสำคัญที่ควรทราบคือหากคุณใช้ Django คุณสามารถใช้timezone.now()
แทนdatetime.datetime.now()
ได้เสมอ อดีตคือเขตเวลา 'ระวัง' ในขณะที่หลังไม่ได้
ดูคำตอบดังนั้นนี้และเอกสาร Djangotimezone.now()
สำหรับรายละเอียดและเหตุผลที่อยู่เบื้องหลัง
from django.utils import timezone
now = timezone.now()
คุณสามารถทำได้โดยใช้ ctime ():
from time import time, ctime
t = time()
ctime(t)
เอาท์พุท:
Sat Sep 14 21:27:08 2019
ผลลัพธ์เหล่านี้จะแตกต่างกันเนื่องจากการประทับเวลาที่ส่งคืนโดยctime()
ขึ้นอยู่กับที่ตั้งทางภูมิศาสตร์ของคุณ