now.strftime用法
时间: 2023-02-08 19:50:45 浏览: 606
`now.strftime` 是 Python 中用来格式化时间字符串的函数。其中,`now` 是一个 datetime 对象,表示当前时间。
语法:now.strftime(format)
参数:format,字符串类型,代表输出的时间格式,如 %Y 代表四位数年份,%m 代表两位数月份,%d 代表两位数日期等。
返回值:一个字符串,表示格式化后的时间。
使用示例:
```
from datetime import datetime
now = datetime.now()
# 输出当前时间,格式为 YYYY-MM-DD HH:MM:SS
print(now.strftime("%Y-%m-%d %H:%M:%S"))
# 输出当前时间,格式为 MM/DD/YY
print(now.strftime("%m/%d/%y"))
```
上面的代码会分别输出当前时间,年月日格式为 YYYY-MM-DD, 时分秒格式为HH:MM:SS , 另外一种格式为 MM/DD/YY
相关问题
datetime.now().strftime
### 回答1:
datetime.now().strftime是Python中的一个函数,用于将当前时间转换为指定格式的字符串。具体使用方法如下:
datetime.now().strftime(format)
其中,format是一个字符串,用于指定输出的时间格式。常用的格式包括:
%Y:年份,如2021
%m:月份,如01
%d:日期,如01
%H:小时,如23
%M:分钟,如59
%S:秒钟,如59
例如,如果想要将当前时间转换为格式为“年-月-日 时:分:秒”的字符串,可以使用以下代码:
from datetime import datetime
now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(now)
输出结果为:
2021-10-01 23:59:59
### 回答2:
datetime是python中内置模块之一,可以用来处理时间和日期。而datetime.now()就是获取当前日期和时间的函数。当我们需要将日期和时间转化为指定的字符串格式时,可以使用strftime()函数来进行转化。strftime()函数可以格式化datetime的对象为可读性强的字符串。
例如,我们可以使用如下代码将当前时间以指定字符串格式输出:
```
from datetime import datetime
now = datetime.now()
now_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(now_str)
```
其中,"%Y-%m-%d %H:%M:%S"就是格式化字符串,其中%Y,%m,%d,%H,%M,%S等是格式化码,分别表示年,月,日,小时,分钟,秒。
在上面的例子中,我们将当前时间转化为格式化字符串"%Y-%m-%d %H:%M:%S",最终输出的字符串就是如下形式的:
```
2021-07-28 15:30:00
```
strftime()函数的格式化字符串还可以根据需求进行定制和组合,比如可以用"%A"表示星期几,"%p"表示上午还是下午等等。
总之,strftime()函数是用来将datetime对象转化为指定格式的字符串,从而更方便地进行时间和日期的处理和输出。
### 回答3:
datetime.now().strftime是Python中datetime模块的一个函数,它可将当前日期和时间格式化为指定的字符串形式。其中,now()函数返回当前的时间,strftime()函数可将时间格式化为字符串,其中各个符号用来表示不同的时间元素,例如“%Y”表示四位数年份,%m表示两位数月份,%d表示两位数日期,%H表示24小时制的小时数等。
使用datetime.now().strftime函数,可以通过传入不同的格式字符串来实现时间格式化。例如,如果要将当前时间按照年月日的形式输出,可以使用如下代码:
from datetime import datetime
current_time = datetime.now().strftime("%Y-%m-%d")
print(current_time)
如果要将当前时间按照小时分钟秒的形式输出,可以使用如下代码:
from datetime import datetime
current_time = datetime.now().strftime("%H:%M:%S")
print(current_time)
strftime函数还可以自定义日期时间格式,比如可以用“%a”表示星期几的缩写,用“%A”表示星期几的全名,用“%b”表示月份的缩写,用“%B”表示月份的全名,用“%p”表示上下午等。例如,如果要将日期时间格式化为“2022年6月15日 周三 下午3:30”,可以使用如下代码:
from datetime import datetime
current_time = datetime.now().strftime("%Y年%m月%d日 %A %p%I:%M")
print(current_time)
总之,datetime.now().strftime函数是Python中常用的时间格式化函数,它能够将时间按照不同的格式输出。对于程序员来说,掌握好它的用法十分重要,可以在实际的编程应用中节省很多时间和精力。
为什么循环中调用now.strftime时间不会变,如何做到在循环中读取显示时间
循环中调用now.strftime时间不会变的原因是因为strftime()方法只是将datetime对象格式化成字符串,而不会改变datetime对象本身的值。如果你希望在循环中读取并显示当前时间,你可以使用datetime模块中的now()方法获取当前时间,然后将其格式化成字符串并输出。示例代码如下:
```python
import datetime
import time
for i in range(10):
now = datetime.datetime.now()
print(now.strftime('%Y-%m-%d %H:%M:%S'))
time.sleep(1)
```
上面的代码中,我们在每次循环开始时获取当前时间,并使用strftime()方法将其格式化成字符串并输出。注意,在每次循环之间添加了1秒钟的延迟,以便能够观察到时间的变化。如果你希望在循环中不断显示当前时间,可以将上面的代码放在一个while循环中,如下所示:
```python
import datetime
import time
while True:
now = datetime.datetime.now()
print(now.strftime('%Y-%m-%d %H:%M:%S'))
time.sleep(1)
```
上面的代码会一直循环输出当前时间,直到你手动停止程序。