it-swarm.com.de

Wie drucke ich das aktuelle Datum auf python3?

Soweit ich erfahre, hier (zum Beispiel), sollte dies das aktuelle Jahr zweistellig ausgeben

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

Ich erhalte jedoch diesen Fehler

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

Also habe ich es versucht

print (datetime.strftime(datetime.date()))

bekommen

TypeError: descriptor 'date' of 'datetime.datetime' object needs an argument

also habe ich "%y" innerhalb von thr date() platziert, um zu erhalten

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

Was mir langsam richtig durchgeknallt und faul vorkommt.

Was vermisse ich?

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

print(now.year)

Der obige Code funktioniert einwandfrei für mich.

66
user1853788

Folgendes scheint zu funktionieren:

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

Das gewünschte datetime.data-Objekt befindet sich "links" vom Punkt und nicht rechts. Sie benötigen eine Instanz von datetime, um die Methode aufzurufen, die Sie jetzt durchlaufen ().

18
Paul Rubel

Mit diesem Code können Sie Datum und Uhrzeit in jedem erdenklichen Format abrufen: (Weitere Informationen finden Sie unten in diesem Beitrag.)

# 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]

Um die Uhrzeit oder das Datum abzurufen, geben Sie einfach getdatetime('TYPE') ein und ersetzen TYPE durch Any Es mit Sprachmarkierungen (") oder Apostraphien ('))

Alle Beispielausgaben basieren auf derselben Zeit und demselben Datum:

Datum: 25-11-2017 | Zeit: 03: 23: 56.477017

Table Of Arguments With Meanings And Example Outputs

5
Richie Bendall

Ich benutze immer diesen Code, der das Jahr auf die Sekunde in einem Tupel druckt

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