如何在python3上打印当前日期?

Yot*_*tam 41 python time datetime date

从我收集,在这里(例如),这应该打印当年两位数

print (datetime.strftime("%y"))
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误

TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'str'
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个

print (datetime.strftime(datetime.date()))
Run Code Online (Sandbox Code Playgroud)

要得到

TypeError: descriptor 'date' of 'datetime.datetime' object needs an argument
Run Code Online (Sandbox Code Playgroud)

所以我放在上面"%y"的thr里面date()得到

TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'str'
Run Code Online (Sandbox Code Playgroud)

对我来说,开始看起来真的很邋and和腥.

我错过了什么?

小智 71

import datetime
now = datetime.datetime.now()

print(now.year)
Run Code Online (Sandbox Code Playgroud)

上面的代码对我来说非常好.


Pau*_*bel 18

以下似乎有效:

import datetime
print (datetime.datetime.now().strftime("%y"))
Run Code Online (Sandbox Code Playgroud)

它想要的datetime.data对象位于点的"左侧"而不是右侧.你需要一个datetime实例来调用方法,你现在可以通过它来实现()


Ant*_*ntu 7

我每次都使用这个标准

import datetime
now = datetime.datetime.now()
print ("Current date and time : ")
print (now.strftime("%Y-%m-%d %H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)


Ric*_*all 5

此代码将使您能够以任何可以想到的格式获取日期和时间:(有关详细信息,请查看此帖子的底部)

# 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]
Run Code Online (Sandbox Code Playgroud)

为了获取时间或日期,只需键入getdatetime('TYPE')和替换TYPE任何以下(记住:确保当您键入它,您应将其用言语引号(“)或者Apostraphies('))

基于相同时间和日期的所有示例输出:

日期:25-11-2017 | 时间:03:23:56.477017

具有含义和示例输出的参数表


小智 5

我总是使用此代码,它在元组中打印年份到秒

import datetime

now = datetime.datetime.now()

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

print(time_now)
Run Code Online (Sandbox Code Playgroud)