web-dev-qa-db-ja.com

python3で現在の日付を印刷する方法は?

私が収集したものから、 ここ (たとえば)、これは現在の年を2桁で出力するはずです

_print (datetime.strftime("%y"))
_

しかし、私はこのエラーを受け取ります

_TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'str'
_

だから私はこれを試みた

_print (datetime.strftime(datetime.date()))
_

取得するため

_TypeError: descriptor 'date' of 'datetime.datetime' object needs an argument
_

そのため、上記のthr date()の中に_"%y"_を配置しました。

_TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'str'
_

それは私にとって本当にルーピーで怪しいように見え始めます。

私は何が欠けていますか?

40
Yotam
import datetime
now = datetime.datetime.now()

print(now.year)

上記のコードは、私にとって完璧に機能します。

66
user1853788

以下はうまくいくようです:

import datetime
print (datetime.datetime.now().strftime("%y"))

必要なdatetime.dataオブジェクトは、右ではなくドットの「左」にあります。メソッドを呼び出すには、datetimeのインスタンスが必要です。このインスタンスは、now()で取得します

18
Paul Rubel

このコードを使用すると、考えられる任意の形式で日付と時刻を取得できます(詳細については、この投稿の下部をご覧ください)。

_# Get The Current Date Or Time
def getdatetime(timedateformat='complete'):
    from datetime import datetime
    timedateformat = timedateformat.lower()
    if timedateformat == 'day':
        return ((str(datetime.now())).split(' ')[0]).split('-')[2]
    Elif timedateformat == 'month':
        return ((str(datetime.now())).split(' ')[0]).split('-')[1]
    Elif timedateformat == 'year':
        return ((str(datetime.now())).split(' ')[0]).split('-')[0]
    Elif timedateformat == 'hour':
        return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[0]
    Elif timedateformat == 'minute':
        return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[1]
    Elif timedateformat == 'second':
        return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[2]
    Elif timedateformat == 'millisecond':
        return (str(datetime.now())).split('.')[1]
    Elif timedateformat == 'yearmonthday':
        return (str(datetime.now())).split(' ')[0]
    Elif timedateformat == 'daymonthyear':
        return ((str(datetime.now())).split(' ')[0]).split('-')[2] + '-' + ((str(datetime.now())).split(' ')[0]).split('-')[1] + '-' + ((str(datetime.now())).split(' ')[0]).split('-')[0]
    Elif timedateformat == 'hourminutesecond':
        return ((str(datetime.now())).split(' ')[1]).split('.')[0]
    Elif timedateformat == 'secondminutehour':
        return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[2] + ':' + (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[1] + ':' + (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[0]
    Elif timedateformat == 'complete':
        return str(datetime.now())
    Elif timedateformat == 'datetime':
        return (str(datetime.now())).split('.')[0]
    Elif timedateformat == 'timedate':
        return ((str(datetime.now())).split('.')[0]).split(' ')[1] + ' ' + ((str(datetime.now())).split('.')[0]).split(' ')[0]
_

時刻または日付を取得するには、単にgetdatetime('TYPE')と入力し、TYPEを以下のAnyに置き換えます(覚えておいてください:入力するときに、音声マーク( ")またはアポストラフィ( '))で囲むようにします。

同じ時刻と日付に基づいたすべての出力例:

日付:25-11-2017 |時間:03:23:56.477017

Table Of Arguments With Meanings And Example Outputs

5
Richie Bendall

私は常にこのコードを使用します。

import datetime

now = datetime.datetime.now()

time_now = (now.year, now.month, now.day, now.hour, now.minute, now.second)

print(time_now)
3
Amir_N