Python 日期和字符串

🌱日期

Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理。

import datetime

x = datetime.datetime.now()
print(x)

创建日期对象

如需创建日期,我们可以使用 datetime 模块的 datetime() 类(构造函数)。

datetime() 类需要三个参数来创建日期:年、月、日。

import datetime

x = datetime.datetime(2020, 5, 17)

print(x)
# datetime() 类还接受时间和时区(小时、分钟、秒、微秒、tzone)的参数,
# 不过它们是可选的,默认值为 0,(时区默认为 None)。

strftime() 方法:格式化日期

strftime() 方法可以将日期对象格式化为可读的字符串,并使用format参数来指定返回字符串的格式。

import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%a"))

所有合法格式代码参考

指令

描述

实例

%a

weekday,短版本

Thu

%A

weekday,完整版本

Thursday

%w

weekday,数字0-6,0为周日

4

%d

日,数字01-31

20

%b

月,短版本

Oct

%B

月,完整版本

October

%m

月,数字01-12

10

%y

年,短版本,无世纪

22

%Y

年完整版本

2022

%H

小时,00-23

15

%I

小时,00-12

11

%p

AM/PM

AM

%M

分,00-59

20

%S

秒,00-59

21

%f

微秒,000000-999999

666666

%z

UTC,偏移

+0100

%Z

时区

CST

%j

天数,001-366

293

%U

周数,每周的第一天是周日,00-53

42

%W

周数,每周的第一天是周一,00-53

42

%c

日期和时间的本地版本

Thu Oct 20 11:28:09 2022

%x

日期的本地版本

10/20/22

%X

时间的本地版本

11:28:43

%%

输出就是一个%

%

🌱字符串

为确保字符串按预期显示,我们可以使用 format() 方法对结果进行格式化。

字符串 format()

format() 方法允许你格式化字符串的选定部分。

有时文本的一部分是你无法控制的,也许它们来自数据库或用户输入?

要控制此类值,请在文本中添加占位符(花括号 {}),然后通过 format() 方法运行值。

price = 52
txt = "The price is {} dollars"
print(txt.format(price))

可以在花括号 {} 内添加参数以指定如何转换值。

多个值

如果需要使用更多值,只需向format() 方法添加更多值,并添加更多的占位符(花括号 {})。

quantity = 3
itemno = 567
price = 52
myorder = "I want {} pieces of item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
# 第三个占位符表示,将格式化为带有两个小数的数字

索引号

可以使用索引号(花括号 {0} 内的数字)来确保将值放在正确的占位符中。

quantity = 3
itemno = 567
price = 52
myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))
# 多次引用相同的值,请使用索引号
age = 63
name = "Bill"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age, name))

命名索引

还可以通过在花括号 {carname} 中输入名称来使用命名索引,但是在传递参数值 txt.format(carname = "Ford") 时,必须使用名称。

myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname = "Porsche", model = "911"))

🌱字符串 format() 参考手册

"I want {0} pieces of item number {1} for {2:.2f} dollars."
# 格式化指令需写入占位符{}中

指令

描述

:<

左对齐结果(在可用空间内)

:>

右对齐结果(在可用空间内)

:^

居中对齐结果(在可用空间内)

:=

将标志放置在最左侧

:+

使用加号知识结果是正数还是负数

:-

负号仅用于负值

:

使用空格在正数之前插入一个多余的空格(在负数之前使用减号)

:,

使用逗号作为千位分隔符

:_

使用下划线作为千位分隔符

:b

二进制格式化

:c

将值转为相应的unicode字符

:d

十进制格式

:e

科学格式,带有小写字母e

:E

科学格式,带有大写字母E

:f

定点数字格式

:F

定点数字格式,以大写形式显示(将 inf 和 nan 显示为 INF 和 NAN)

:g

通用格式

:G

通用格式(将大写 E 用作科学计数法)

:o

八进制格式

:x

十六进制格式,小写

:X

十六进制格式,大写

:n

数字格式

:%

百分比格式

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值