Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何以常规格式打印日期?_Python_Datetime_Date - Fatal编程技术网

Python 如何以常规格式打印日期?

Python 如何以常规格式打印日期?,python,datetime,date,Python,Datetime,Date,这是我的代码: import datetime today = datetime.date.today() print(today) 这打印:2008-11-22这正是我想要的 但是,我有一个列表,我把它添加到其中,然后突然一切都变得“不稳定”。代码如下: import datetime mylist = [] today = datetime.date.today() mylist.append(today) print(mylist) 这将打印以下内容: [datetime.date(2

这是我的代码:

import datetime
today = datetime.date.today()
print(today)
这打印:
2008-11-22
这正是我想要的

但是,我有一个列表,我把它添加到其中,然后突然一切都变得“不稳定”。代码如下:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print(mylist)
这将打印以下内容:

[datetime.date(2008, 11, 22)]

如何只获取像
2008-11-22
这样的简单日期?

您需要将
datetime
对象转换为
str

以下代码适用于我:

导入日期时间
集合=[]
dateTimeString=str(datetime.date.today())
collection.append(dateTimeString)
印刷品(收藏)

如果您需要更多帮助,请告诉我。

您是否希望将其作为字符串附加

导入日期时间
mylist=[]
today=str(datetime.date.today())
mylist.append(今天)
打印(mylist)
您可以执行以下操作:

mylist.append(str(today))

使用date.strftime。格式参数为

这是你想要的:

some_date.strftime('%Y-%m-%d')
这一个考虑了语言环境。(这样做)

原因:日期是对象 在Python中,日期是对象。因此,当您操纵它们时,您操纵的是对象,而不是字符串或时间戳

Python中的任何对象都有两种字符串表示形式:

  • 可以使用
    str()
    函数获取
    print
    使用的常规表示形式。大多数情况下,它是最常见的人类可读格式,用于简化显示。所以
    str(datetime.datetime(2008,11,22,19,53,42))
    为您提供了
    '2008-11-22 19:53:42'

  • 用于表示对象性质(作为数据)的替代表示法。它可以使用
    repr()
    函数获取,并且在开发或调试时可以方便地了解您操作的数据类型
    repr(datetime.datetime(2008,11,22,19,53,42))
    提供了
    'datetime.datetime(2008,11,22,19,53,42)

当您使用
print
打印日期时,它使用了
str()
,这样您就可以看到一个漂亮的日期字符串。但是当您打印了
mylist
时,您已经打印了一个对象列表,Python试图使用
repr()
来表示数据集

如何:你想用它做什么? 嗯,当你操作日期时,一直使用日期对象。他们得到了上千种有用的方法,大多数Python API都希望日期是对象

当您想显示它们时,只需使用
str()
。在Python中,最好的做法是显式地强制转换所有内容。因此,在打印时,使用
str(date)
获取日期的字符串表示形式

最后一件事。当您试图打印日期时,您打印了
mylist
。如果要打印日期,必须打印日期对象,而不是其容器(列表)

例如,您希望打印列表中的所有日期:

for date in mylist :
    print str(date)
请注意,在该特定情况下,您甚至可以省略
str()
,因为print将为您使用它。但这不应该成为一种习惯:-)

实际案例,使用您的代码 高级日期格式 日期具有默认表示形式,但您可能希望以特定格式打印日期。在这种情况下,可以使用
strftime()
方法获得自定义字符串表示形式

strftime()

例如:

“%”
后面的所有字母表示某个内容的格式:

  • %d
    是日数(2位数字,必要时以前导零为前缀)
  • %m
    是月数(2位数字,如有必要,以前导零为前缀)
  • %b
    是月份的缩写(3个字母)
  • %B
    是月份的全称(字母)
  • %y
    是缩写的年份号(最后2位)
  • %Y
    是完整的年份号(4位)
等等

,否则你不可能全都知道

因为,每个对象都可以有自己的格式,由任何字符串的方法格式自动使用。对于datetime,格式与中使用的相同 strftime。因此,您可以像上面这样做:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
此表单的优点是,您还可以同时转换其他对象。
通过引入(自Python 3.62016-12-23以来),这可以写成

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
本地化 如果你使用得当,约会可以自动适应当地的语言和文化,但这有点复杂。可能还有一个关于SO的问题(堆栈溢出);-)

编辑:

之后,我也开始使用时间:

import time
print time.strftime("%Y-%m-%d %H:%M")

date
datetime
time
对象都支持
strftime(format)
方法, 创建表示显式格式控制下的时间的字符串 绳子

下面是格式代码的列表及其指令和含义

%a区域设置的缩写工作日名称。
%区域设置的完整工作日名称。
%b区域设置的缩写月份名称。
%B区域设置的完整月份名称。
%c语言环境的适当日期和时间表示。
%d以十进制数字表示的月份日期[01,31]。
%f微秒为十进制数字[0999999],左侧填充零
%小时(24小时制)作为十进制数字[00,23]。
%I小时(12小时时钟)作为十进制数字[01,12]。
%j以十进制数字表示的一年中的日期[001366]。
%以十进制数字表示的月份[01,12]。
%M分钟为十进制数字[00,59]。
%p语言环境相当于AM或PM。
%秒作为十进制数[00,61]。
%U一年中的周数(星期日为一周的第一天)
%w工作日为十进制数字[0(星期日),6]。
%W一年中的周数(星期一为一周的第一天)
%x语言环境的适当日期表示形式。
%X语言环境的适当时间表示
print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
import datetime
print datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
import time
print time.strftime("%Y-%m-%d %H:%M")
import time
import datetime

print "Time in seconds since the epoch: %s" %time.time()
print "Current date and time: ", datetime.datetime.now()
print "Or like this: ", datetime.datetime.now().strftime("%y-%m-%d-%H-%M")

print "Current year: ", datetime.date.today().strftime("%Y")
print "Month of year: ", datetime.date.today().strftime("%B")
print "Week number of the year: ", datetime.date.today().strftime("%W")
print "Weekday of the week: ", datetime.date.today().strftime("%w")
print "Day of year: ", datetime.date.today().strftime("%j")
print "Day of the month : ", datetime.date.today().strftime("%d")
print "Day of week: ", datetime.date.today().strftime("%A")
>>> import time
>>> time.strftime("%Y-%m-%d %H:%M")
'2013-11-19 09:38'
from datetime import datetime, date

"{:%d.%m.%Y}".format(datetime.now())
"{} - {:%d.%m.%Y}".format("Today", datetime.now())
"{:%A}".format(date.today())
'{}__{:%Y.%m.%d__%H-%M}.log'.format(__name__, datetime.now())
datetime.date.today().isoformat()
import datetime
mylist = []
present = datetime.date.today()
mylist.append(present)
print present
>>> a = datetime.datetime(2015, 04, 01, 11, 23, 22)
>>> a.strftime('%Y-%m-%d %H:%M')
'2015-04-01 11:23'
import date_converter
my_date = date_converter.date_to_string(today, '%Y-%m-%d')
from datetime import datetime
now = datetime.now()

print '%s/%s/%s' % (now.year, now.month, now.day)
# convert date time to regular format.

d_date = datetime.datetime.now()
reg_format_date = d_date.strftime("%Y-%m-%d %I:%M:%S %p")
print(reg_format_date)

# some other date formats.
reg_format_date = d_date.strftime("%d %B %Y %I:%M:%S %p")
print(reg_format_date)
reg_format_date = d_date.strftime("%Y-%m-%d %H:%M:%S")
print(reg_format_date)
2016-10-06 01:21:34 PM
06 October 2016 01:21:34 PM
2016-10-06 13:21:34
>>> import datetime
>>> f"{datetime.datetime.now():%Y-%m-%d}"
'2017-06-15'
import datetime
import time

months = ["Unknown","January","Febuary","Marchh","April","May","June","July","August","September","October","November","December"]
datetimeWrite = (time.strftime("%d-%m-%Y "))
date = time.strftime("%d")
month= time.strftime("%m")
choices = {'01': 'Jan', '02':'Feb','03':'Mar','04':'Apr','05':'May','06': 'Jun','07':'Jul','08':'Aug','09':'Sep','10':'Oct','11':'Nov','12':'Dec'}
result = choices.get(month, 'default')
year = time.strftime("%Y")
Date = date+"-"+result+"-"+year
print Date
from datetime import date

def today_in_str_format():
    return str(date.today())

print (today_in_str_format())
import datetime
str(datetime.date.today())
>>> import pandas as pd
>>> pd.to_datetime('now')
Timestamp('2018-10-07 06:03:30')
>>> print(pd.to_datetime('now'))
2018-10-07 06:03:47
>>> pd.to_datetime('now').date()
datetime.date(2018, 10, 7)
>>> print(pd.to_datetime('now').date())
2018-10-07
>>> 
>>> l=[]
>>> l.append(pd.to_datetime('now').date())
>>> l
[datetime.date(2018, 10, 7)]
>>> map(str,l)
<map object at 0x0000005F67CCDF98>
>>> list(map(str,l))
['2018-10-07']
>>> l=list(map(str,l))
>>> list(map(pd.to_datetime,l))
[Timestamp('2018-10-07 00:00:00')]
>>> some_date.strftime('%x')
07/11/2019