현재 시간을 얻는 데 사용되는 모듈/메소드는 무엇입니까?
질문자 :user46646
사용하다:
>>> 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.
위의 모든 것에서.
Harley Holcombe
time.strftime()
사용할 수 있습니다.
>>> from time import gmtime, strftime >>> strftime("%Y-%m-%d %H:%M:%S", gmtime()) '2009-01-05 22:14:39'
Sean James
from datetime import datetime datetime.now().strftime('%Y-%m-%d %H:%M:%S')
이 예의 경우 출력은 다음과 같습니다. '2013-09-18 11:16:32'
다음은 strftime
지시문 목록입니다.
ParaMeterz
Harley의 답변 과 유사하지만 빠르고 사람이 읽기 쉬운 형식에 str()
함수를 사용하십시오.
>>> from datetime import datetime >>> str(datetime.now()) '2011-05-03 17:45:35.177000'
Ray
Python에서 현재 시간을 얻으려면 어떻게 해야 합니까?
time
모듈
time
모듈은 "에포크 이후 초"로 시간을 알려주는 기능과 다른 유틸리티를 제공합니다.
import time
유닉스 에포크 시간
이것은 데이터베이스에 저장하기 위해 타임스탬프를 가져와야 하는 형식입니다. 정수로 변환할 수 있는 간단한 부동 소수점 숫자입니다. 1970년 1월 1일 00:00:00 이후의 초 수를 나타내기 때문에 초 단위 산술에도 유용하며 다음에 살펴볼 시간의 다른 표현에 상대적인 메모리 라이트입니다.
>>> time.time() 1424233311.771502
이 타임스탬프는 윤초를 고려하지 않으므로 선형이 아닙니다. 윤초는 무시됩니다. 따라서 국제 UTC 표준과 동등하지는 않지만 거의 비슷하므로 대부분의 기록 보관 사례에 매우 적합합니다.
그러나 이것은 인간의 스케줄링에는 이상적이지 않습니다. datetime
개체 또는 직렬화된 datetime
시간 개체로 구문 분석할 수 있는 문자열을 사용하여 해당 시간을 저장하고 싶을 것입니다(이는 나중에 설명됨).
time.ctime
또한 운영 체제에서 선호하는 방식으로 현재 시간을 나타낼 수 있습니다(즉, 시스템 기본 설정을 변경할 때 변경될 수 있으므로 다른 사람들이 기대하는 것처럼 모든 시스템에서 표준으로 여기지 마십시오) . 이것은 일반적으로 사용자에게 친숙하지만 일반적으로 시간순으로 정렬할 수 있는 문자열을 생성하지는 않습니다.
>>> time.ctime() 'Tue Feb 17 23:21:56 2015'
ctime
을 사용하여 타임스탬프를 사람이 읽을 수 있는 형식으로 수화할 수도 있습니다.
>>> time.ctime(1424233311.771502) 'Tue Feb 17 23:21:51 2015'
이 변환은 기록 보관에도 좋지 않습니다(인간만 구문 분석하는 텍스트 제외 - 광학 문자 인식 및 인공 지능 개선으로 이러한 경우의 수가 줄어들 것이라고 생각합니다).
datetime
모듈
datetime
모듈은 여기에서도 매우 유용합니다.
>>> import datetime
datetime.datetime.now
datetime.now
는 현재 시간을 반환하는 클래스 메서드입니다. time.localtime
을 사용합니다(제공되지 않은 경우 아래의 시간대 인식 참조). 쉘에 표시되는 표현(동등한 객체를 다시 생성할 수 있음)이 있지만 인쇄될 때(또는 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
다음을 수행하여 글로벌 표준인 UTC 시간으로 datetime 객체를 얻을 수 있습니다.
>>> 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는 일광 절약 시간제로 변경되지 않지만 사용자는 여름 동안 영국 서머 타임과 같은 다른 시간대로 전환할 수 있습니다.)
날짜/시간 시간대 인식
그러나 지금까지 만든 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
클래스가 있으며, 이는 객체 시간대도 인식하게 합니다(그러나 편리한 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
timezone localize
메소드를 사용하거나 tzinfo 속성을 교체하여 순진한 datetime 객체를 인식하도록 만들 수도 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 시간 또는 시간대 인식 UTC datetime
객체를 사용하는 것이 좋습니다.
Aaron Hall
하다
from time import time t = time()
-
t
- 부동 소수점 수, 시간 간격 측정에 적합합니다.
Unix 및 Windows 플랫폼에는 약간의 차이가 있습니다.
maxp
>>> from time import gmtime, strftime >>> strftime("%a, %d %b %Y %X +0000", gmtime()) 'Tue, 06 Jan 2009 04:54:56 +0000'
현재 GMT를 지정된 형식으로 출력합니다. localtime()
메서드도 있습니다.
이 페이지 에는 자세한 내용이 있습니다.
Vijay Dev
이전 답변은 모두 좋은 제안이지만 ctime()
을 사용하는 것이 가장 쉽습니다.
In [2]: from time import ctime In [3]: ctime() Out[3]: 'Thu Oct 31 11:40:53 2013'
이것은 현재 현지 시간의 멋진 형식의 문자열 표현을 제공합니다.
Ethereal
가장 빠른 방법은 다음과 같습니다.
>>> import time >>> time.strftime("%Y%m%d") '20130924'
nacholibre
현재 시간이 time
객체로 필요한 경우:
>>> import datetime >>> now = datetime.datetime.now() >>> datetime.time(now.hour, now.minute, now.second) datetime.time(11, 23, 44)
bluish
.isoformat()
은 문서에 있지만 아직 여기에 없습니다(이는 @Ray Vega의 답변과 매우 유사합니다).
>>> import datetime >>> datetime.datetime.now().isoformat() '2013-06-24T20:35:55.982000'
emmagras
미해군 공식 타임키퍼인 미해군 천문대 에게 물어보는 것은 어떨까요?
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 지역에 살고 있다면 (나처럼) 대기 시간이 그렇게 나쁘지 않을 것입니다 ...
C8H10N4O2
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'
Tom
현재 시간을 얻기 위해 판다 를 사용하여 당면한 문제를 과도하게 죽입니다.
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
prudhvi Indana
이것이 내가 끝내는 것입니다.
>>>from time import strftime >>>strftime("%m/%d/%Y %H:%M") 01/09/2015 13:11
또한 이 표는 날짜 형식을 원하는 대로 지정하기 위해 적절한 형식 코드를 선택하는 데 필요한 참고 자료입니다(Python "datetime" 문서 여기 ).
Kristen G.
이미 numpy를 사용하고 있다면 직접 numpy.datetime64() 함수를 사용할 수 있습니다.
import numpy as np str(np.datetime64('now'))
날짜만:
str(np.datetime64('today'))
또는 이미 pandas를 사용하고 있다면 pandas.to_datetime() 함수를 사용할 수 있습니다.
import pandas as pd str(pd.to_datetime('now'))
또는,
str(pd.to_datetime('today'))
durjoy
datetime.now()
는 현재 시간을 현지 시간대의 시간을 나타내는 순진한 datetime 객체로 반환합니다. 이 값은 예를 들어 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
jfs
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)
또는 패키지를 포함한 모든 변수를 수행하십시오. 변수와 관련된 모든 속성과 메서드를 가져올 수 있습니다.
theBuzzyCoder
>>> import datetime, time >>> time = time.strftime("%H:%M:%S:%MS", time.localtime()) >>> print time '00:21:38:20S'
user2030113
이 질문은 단지 그것을 위해 새로운 대답이 필요하지 않습니다 ... 반짝이는 새 장난감/모듈, 그러나 충분한 정당화입니다. 그것은 화살표를 괴롭히는 고유한 결함과 버그가 없는 것을 제외하고는 화살표가 시도한 종류의 일을 하는 것으로 보이는 Pendulum 라이브러리입니다.
예를 들어 원래 질문에 대한 답변은 다음과 같습니다.
>>> 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 >>>
아마 당신의 나머지 대부분은 다른 곳을 의미합니다.
그리고 그것에 간다. 간단히 말해서 Pendulum은 요청이 HTTP에 대해 수행한 작업을 날짜 및 시간에 대해 수행하려고 합니다. 특히 사용의 용이성과 광범위한 문서 모두에서 고려할 가치가 있습니다.
Ben
기본적으로 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
Madhusudhan R
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'
Back2Basics
시간대의 현재 시간
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
champion-runner
현재 타임스탬프(예: 실행 시간 측정)만 원하면 "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))
motagirl2
이 함수를 사용하여 시간을 얻을 수 있습니다(안타깝게도 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]
Richie Bendall
다음을 시도할 수 있습니다.
import datetime now = datetime.datetime.now() print(now)
또는
import datetime now = datetime.datetime.now() print(now.strftime("%Y-%b-%d, %A %I:%M:%S"))
Umutambyi Gad
밀리초 11:34:23.751
대해 정확히 3개의 소수점 을 얻으려면 다음을 실행하십시오.
def get_time_str(decimal_points=3): return time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 10**decimal_points)
추가 컨텍스트:
밀리초로 시간을 구하고 싶습니다. 그것들을 얻는 간단한 방법:
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
마지막 곱셈에서 0을 추가하거나 제거하여 소수점 이하 자릿수를 조정하거나 다음을 수행하십시오.
def get_time_str(decimal_points=3): return time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 10**decimal_points)
y.selivonchyk
아무도 그것을 아직 언급하지 않았고 이것은 내가 최근에 겪었던 일이기 때문에 datetime의 utcnow()와 결합된 pytz 시간대의 fromutc() 메서드는 유용한 현재 시간(및 날짜)을 얻는 가장 좋은 방법입니다 모든 시간대에서.
from datetime import datetime import pytz JST = pytz.timezone("Asia/Tokyo") local_time = JST.fromutc(datetime.utcnow())
원하는 것이 시간 local_time.time()
얻을 수 있습니다.
kungphu
import datetime todays_date = datetime.date.today() print(todays_date) >>> 2019-10-12 # adding strftime will remove the seconds current_time = datetime.datetime.now().strftime('%H:%M') print(current_time) >>> 23:38
Jobin James
ctime()을 사용하여 그렇게 할 수 있습니다.
from time import time, ctime t = time() ctime(t)
산출:
Sat Sep 14 21:27:08 2019
ctime()
반환하는 타임스탬프는 지리적 위치에 따라 다르기 때문에 이러한 출력은 다릅니다.
Sai Kiran Sangam
출처 : http:www.stackoverflow.com/questions/415511/how-to-get-the-current-time-in-python
'etc. > StackOverFlow' 카테고리의 다른 글
셸 스크립트에서 JSON을 예쁘게 인쇄하려면 어떻게 해야 합니까? (0) | 2021.10.06 |
---|---|
HashMap을 통해 반복 (0) | 2021.10.06 |
특정 Git 브랜치를 복제하려면 어떻게 해야 합니까? [복제하다] (0) | 2021.10.06 |
AngularJS: 서비스 대 공급자 대 공장 (0) | 2021.10.06 |
JavaScript에서 배열을 통해 루프 (0) | 2021.10.06 |