복붙노트

[PYTHON] 파이썬 strftime - 선행 0이없는 날짜?

PYTHON

파이썬 strftime - 선행 0이없는 날짜?

파이썬 strftime을 사용하는 경우, 10 일 이전에 날짜의 첫 번째 0을 제거하는 방법이 있습니다. 그래서 01은 1입니까? 그걸로는 찾을 수 없습니까?

감사!

해결법

  1. ==============================

    1.실제로 나는 동일한 문제가 있었고 %와 문자 사이에 하이픈을 추가하면 맨 앞의 0을 제거 할 수 있음을 알았습니다.

    실제로 나는 동일한 문제가 있었고 %와 문자 사이에 하이픈을 추가하면 맨 앞의 0을 제거 할 수 있음을 알았습니다.

    예 : % Y / % - m / % - d.

    이것은 Unix (Linux, OS X)에서만 작동하며 Windows (Cygwin 포함)에서는 작동하지 않습니다. Windows에서는 #을 사용합니다 (예 : % Y / % # m / % # d.

  2. ==============================

    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. ==============================

    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. ==============================

    4.

    >>> import datetime
    >>> d = datetime.datetime.now()
    >>> d.strftime('X%d/X%m/%Y').replace('X0','X').replace('X','')
    '5/5/2011'
    
  5. ==============================

    5.다음은 GNU C 라이브러리에서 strftime ()이 지원하는 수정 자의 문서입니다. (사람들이 전에 말했듯이, 이식성이 없을 수도 있습니다.) 당신에게 관심이있을 수도 있습니다 :

    다음은 GNU C 라이브러리에서 strftime ()이 지원하는 수정 자의 문서입니다. (사람들이 전에 말했듯이, 이식성이 없을 수도 있습니다.) 당신에게 관심이있을 수도 있습니다 :

    내 Python (Linux)에서 작동합니다. 나는 그것이 당신에게 효과가 있을지 모르겠습니다.

  6. ==============================

    6.파티에 꽤 늦었지만 % -d는 제 마지막으로 작동합니다.

    파티에 꽤 늦었지만 % -d는 제 마지막으로 작동합니다.

    datetime.now (). strftime ( '% B % -d, % Y')은 "2014 년 11 월 5 일"

    건배 :)

  7. ==============================

    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. ==============================

    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. ==============================

    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. ==============================

    10.% d의 경우 int ()를 사용하여 정수로 변환하면 선행 0이 자동으로 제거되고 정수가됩니다. 그런 다음 str ()을 사용하여 문자열로 다시 변환 할 수 있습니다.

    % d의 경우 int ()를 사용하여 정수로 변환하면 선행 0이 자동으로 제거되고 정수가됩니다. 그런 다음 str ()을 사용하여 문자열로 다시 변환 할 수 있습니다.

  11. ==============================

    11.Alex의 방법에 기반하여, 이것은 문자열 시작 및 공백 모두에 대해 작동합니다 :

    Alex의 방법에 기반하여, 이것은 문자열 시작 및 공백 모두에 대해 작동합니다 :

    re.sub('^0|(?<= )0', '', "01 January 2000 08:00am")
    

    .format 또는 % -d보다 더 좋아합니다. 이는 크로스 플랫폼이기 때문에 strftime ( "11 월"및 "월요일"과 같은 것을 사용하기 위해)을 계속 사용할 수 있기 때문입니다.

  12. ==============================

    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. ==============================

    13.이전 질문이지만 % l (소문자 L)이 strftime에서 나를 위해 일했습니다. 그러나 모든 사람들에게 이것이 작동하지 않을 수 있습니다. 발견 된 Python 문서에 나와 있지 않기 때문입니다.

    이전 질문이지만 % l (소문자 L)이 strftime에서 나를 위해 일했습니다. 그러나 모든 사람들에게 이것이 작동하지 않을 수 있습니다. 발견 된 Python 문서에 나와 있지 않기 때문입니다.

  14. ==============================

    14.다음과 같이 replace를 사용하면됩니다.

    다음과 같이 replace를 사용하면됩니다.

    strftime ( "% Y / % m / % d"). replace ( "/ 0", "/")

    그것은 출력됩니다 :

    '2017/7/21'
    
  15. ==============================

    15.

    import datetime
    now = datetime.datetime.now()
    print now.strftime("%b %_d")
    
  16. ==============================

    16.예를 들어 "% -d"를 사용하면 동일한 OS의 서로 다른 버전 사이에서도 이식 할 수 없습니다. 더 나은 해결책은 날짜 구성 요소를 개별적으로 추출하고 날짜 별 서식 지정 연산자와 각 구성 요소의 날짜 특성 액세스 사이에서 선택하는 것입니다.

    예를 들어 "% -d"를 사용하면 동일한 OS의 서로 다른 버전 사이에서도 이식 할 수 없습니다. 더 나은 해결책은 날짜 구성 요소를 개별적으로 추출하고 날짜 별 서식 지정 연산자와 각 구성 요소의 날짜 특성 액세스 사이에서 선택하는 것입니다.

    e = datetime.date(2014, 1, 6)
    "{date:%A} {date.day} {date:%B}{date.year}".format(date=e)
    
  17. ==============================

    17.% d는 파이썬 3.6.5에서 두 가지를 모두 지원합니다 (0이 나오거나없는 경우).

    % d는 파이썬 3.6.5에서 두 가지를 모두 지원합니다 (0이 나오거나없는 경우).

  18. from https://stackoverflow.com/questions/904928/python-strftime-date-without-leading-0 by cc-by-sa and MIT license