[PYTHON] 파이썬 strftime - 선행 0이없는 날짜?
PYTHON파이썬 strftime - 선행 0이없는 날짜?
파이썬 strftime을 사용하는 경우, 10 일 이전에 날짜의 첫 번째 0을 제거하는 방법이 있습니다. 그래서 01은 1입니까? 그걸로는 찾을 수 없습니까?
감사!
해결법
-
==============================
1.실제로 나는 동일한 문제가 있었고 %와 문자 사이에 하이픈을 추가하면 맨 앞의 0을 제거 할 수 있음을 알았습니다.
실제로 나는 동일한 문제가 있었고 %와 문자 사이에 하이픈을 추가하면 맨 앞의 0을 제거 할 수 있음을 알았습니다.
예 : % Y / % - m / % - d.
이것은 Unix (Linux, OS X)에서만 작동하며 Windows (Cygwin 포함)에서는 작동하지 않습니다. Windows에서는 #을 사용합니다 (예 : % Y / % # m / % # d.
-
==============================
2.우리는 python2.6 이후 포맷 메소드의 출현으로 이런 종류의 일을 할 수 있습니다 :
우리는 python2.6 이후 포맷 메소드의 출현으로 이런 종류의 일을 할 수 있습니다 :
>>> import datetime >>> '{dt.year}/{dt.month}/{dt.day}'.format(dt = datetime.datetime.now()) '2013/4/19'
아마도 원래 질문의 범위를 벗어나 더 흥미로운 형식의 경우 다음과 같은 작업을 수행 할 수 있습니다.
>>> '{dt:%A} {dt:%B} {dt.day}, {dt.year}'.format(dt=datetime.datetime.now()) 'Wednesday December 3, 2014'
그리고 python3.6부터는 인라인 형식의 문자열로 표현할 수 있습니다.
Python 3.6.0a2 (v3.6.0a2:378893423552, Jun 13 2016, 14:44:21) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> dt = datetime.datetime.now() >>> f'{dt:%A} {dt:%B} {dt.day}, {dt.year}' 'Monday August 29, 2016'
-
==============================
3.일부 플랫폼은 http://docs.python.org/library/time.html에 따라 %와 문자 사이의 너비와 정밀도 사양 (예 : 'd')을 지원할 수 있지만, 휴대용 솔루션 (예 : 내 Mac에서는 작동하지 않습니다 .-). 어쩌면 당신은 그것을 대체하기 위해 strftime 다음에 문자열 바꾸기 (또는 정말로 불쾌한 형식을 위해 RE)를 사용할 수 있습니까? 예 :
일부 플랫폼은 http://docs.python.org/library/time.html에 따라 %와 문자 사이의 너비와 정밀도 사양 (예 : 'd')을 지원할 수 있지만, 휴대용 솔루션 (예 : 내 Mac에서는 작동하지 않습니다 .-). 어쩌면 당신은 그것을 대체하기 위해 strftime 다음에 문자열 바꾸기 (또는 정말로 불쾌한 형식을 위해 RE)를 사용할 수 있습니까? 예 :
>>> y (2009, 5, 7, 17, 17, 17, 3, 127, 1) >>> time.strftime('%Y %m %d', y) '2009 05 07' >>> time.strftime('%Y %m %d', y).replace(' 0', ' ') '2009 5 7'
-
==============================
4.
>>> import datetime >>> d = datetime.datetime.now() >>> d.strftime('X%d/X%m/%Y').replace('X0','X').replace('X','') '5/5/2011'
-
==============================
5.다음은 GNU C 라이브러리에서 strftime ()이 지원하는 수정 자의 문서입니다. (사람들이 전에 말했듯이, 이식성이 없을 수도 있습니다.) 당신에게 관심이있을 수도 있습니다 :
다음은 GNU C 라이브러리에서 strftime ()이 지원하는 수정 자의 문서입니다. (사람들이 전에 말했듯이, 이식성이 없을 수도 있습니다.) 당신에게 관심이있을 수도 있습니다 :
내 Python (Linux)에서 작동합니다. 나는 그것이 당신에게 효과가 있을지 모르겠습니다.
-
==============================
6.파티에 꽤 늦었지만 % -d는 제 마지막으로 작동합니다.
파티에 꽤 늦었지만 % -d는 제 마지막으로 작동합니다.
datetime.now (). strftime ( '% B % -d, % Y')은 "2014 년 11 월 5 일"
건배 :)
-
==============================
7.Windows에서 '% # m / % # d / % Y % # I : % M : % S % p'와 같이 '#'
Windows에서 '% # m / % # d / % Y % # I : % M : % S % p'와 같이 '#'
참조 용 : https://msdn.microsoft.com/en-us/library/fe06s4ak.aspx
-
==============================
8.장고 서식 파일 날짜 서식 필터를 빠르고 쉽게 찾을 수 있습니다. 선행 0을 제거합니다. Django 모듈을 가져 오는 것이 싫다면 체크 아웃하십시오.
장고 서식 파일 날짜 서식 필터를 빠르고 쉽게 찾을 수 있습니다. 선행 0을 제거합니다. Django 모듈을 가져 오는 것이 싫다면 체크 아웃하십시오.
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
from django.template.defaultfilters import date as django_date_filter print django_date_filter(mydate, 'P, D M j, Y')
-
==============================
9.보세요 - 울부 짖음 :
보세요 - 울부 짖음 :
>>> from datetime import datetime >>> datetime.now().strftime('%d-%b-%Y') >>> '08-Oct-2011' >>> datetime.now().strftime('%-d-%b-%Y') >>> '8-Oct-2011' >>> today = datetime.date.today() >>> today.strftime('%d-%b-%Y') >>> print(today)
-
==============================
10.% d의 경우 int ()를 사용하여 정수로 변환하면 선행 0이 자동으로 제거되고 정수가됩니다. 그런 다음 str ()을 사용하여 문자열로 다시 변환 할 수 있습니다.
% d의 경우 int ()를 사용하여 정수로 변환하면 선행 0이 자동으로 제거되고 정수가됩니다. 그런 다음 str ()을 사용하여 문자열로 다시 변환 할 수 있습니다.
-
==============================
11.Alex의 방법에 기반하여, 이것은 문자열 시작 및 공백 모두에 대해 작동합니다 :
Alex의 방법에 기반하여, 이것은 문자열 시작 및 공백 모두에 대해 작동합니다 :
re.sub('^0|(?<= )0', '', "01 January 2000 08:00am")
.format 또는 % -d보다 더 좋아합니다. 이는 크로스 플랫폼이기 때문에 strftime ( "11 월"및 "월요일"과 같은 것을 사용하기 위해)을 계속 사용할 수 있기 때문입니다.
-
==============================
12.파이썬은 실제로 플랫폼에서 C 언어 strftime (3) 함수를 호출하기 때문에 앞에 오는 0을 제어하는 데 사용할 수있는 형식 문자가있을 수 있습니다. 사람 strftime을 시도하고보세요. 물론, 결과는 이식성이 없을 것입니다. 파이썬 매뉴얼이 상기시켜주기 때문입니다. :-)
파이썬은 실제로 플랫폼에서 C 언어 strftime (3) 함수를 호출하기 때문에 앞에 오는 0을 제어하는 데 사용할 수있는 형식 문자가있을 수 있습니다. 사람 strftime을 시도하고보세요. 물론, 결과는 이식성이 없을 것입니다. 파이썬 매뉴얼이 상기시켜주기 때문입니다. :-)
t.year 및 t.month와 t.day와 같은 속성을 가진 새로운 스타일의 datetime 객체를 대신 사용하려고 시도 할 것이고, 그것들을 % 연산자의 정상적인 고전 포맷팅을 통해 넣을 것입니다. 0. 자세한 내용은 http://docs.python.org/library/datetime.html을 참조하십시오. 더 나은 것은 아직 파이썬이 가지고 있고 더 현대적이라면 .format () 연산자를 사용하십시오; 숫자에 대한 형식 옵션도 많이 있습니다. http://docs.python.org/library/string.html#string-formatting을 참조하십시오.
-
==============================
13.이전 질문이지만 % l (소문자 L)이 strftime에서 나를 위해 일했습니다. 그러나 모든 사람들에게 이것이 작동하지 않을 수 있습니다. 발견 된 Python 문서에 나와 있지 않기 때문입니다.
이전 질문이지만 % l (소문자 L)이 strftime에서 나를 위해 일했습니다. 그러나 모든 사람들에게 이것이 작동하지 않을 수 있습니다. 발견 된 Python 문서에 나와 있지 않기 때문입니다.
-
==============================
14.다음과 같이 replace를 사용하면됩니다.
다음과 같이 replace를 사용하면됩니다.
strftime ( "% Y / % m / % d"). replace ( "/ 0", "/")
그것은 출력됩니다 :
'2017/7/21'
-
==============================
15.
import datetime now = datetime.datetime.now() print now.strftime("%b %_d")
-
==============================
16.예를 들어 "% -d"를 사용하면 동일한 OS의 서로 다른 버전 사이에서도 이식 할 수 없습니다. 더 나은 해결책은 날짜 구성 요소를 개별적으로 추출하고 날짜 별 서식 지정 연산자와 각 구성 요소의 날짜 특성 액세스 사이에서 선택하는 것입니다.
예를 들어 "% -d"를 사용하면 동일한 OS의 서로 다른 버전 사이에서도 이식 할 수 없습니다. 더 나은 해결책은 날짜 구성 요소를 개별적으로 추출하고 날짜 별 서식 지정 연산자와 각 구성 요소의 날짜 특성 액세스 사이에서 선택하는 것입니다.
e = datetime.date(2014, 1, 6) "{date:%A} {date.day} {date:%B}{date.year}".format(date=e)
-
==============================
17.% d는 파이썬 3.6.5에서 두 가지를 모두 지원합니다 (0이 나오거나없는 경우).
% d는 파이썬 3.6.5에서 두 가지를 모두 지원합니다 (0이 나오거나없는 경우).
from https://stackoverflow.com/questions/904928/python-strftime-date-without-leading-0 by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] try-except를 사용하지 않고 Python에서 keyboardinterrupt 캡처 (0) | 2018.10.06 |
---|---|
[PYTHON] 이 사전 목록을 CSV 파일로 변환하려면 어떻게합니까? (0) | 2018.10.06 |
[PYTHON] 유형이 지정된 메모리보기에 대해 메모리를 할당하는 권장 방법은 무엇입니까? (0) | 2018.10.06 |
[PYTHON] 파이썬에서 산술 평균 (평균의 한 유형) 계산하기 (0) | 2018.10.06 |
[PYTHON] 파이썬에서 명령 행 인자에 어떻게 접근합니까? (0) | 2018.10.06 |