如何从Python Datetime及时间戳格式字符串中提取年份和月份?
嘿,这两个问题都是Python处理时间场景里的高频需求,我给你拆解清楚怎么操作~
问题1:从Python的Datetime对象中提取年份和月份?
Python的datetime对象本身就自带了year和month属性,直接调用就能拿到对应的值,超级方便!
举个实际的例子:
import datetime # 先创建一个datetime对象(这里是2023年10月15日14:30) my_date = datetime.datetime(2023, 10, 15, 14, 30) # 直接提取年份和月份 extracted_year = my_date.year extracted_month = my_date.month print(f"提取到的年份:{extracted_year},月份:{extracted_month}") # 输出:提取到的年份:2023,月份:10
如果你想要把年份和月份整合成类似2023-10这样的字符串格式,可以用strftime()方法来格式化:
formatted_date = my_date.strftime("%Y-%m") print(formatted_date) # 输出:2023-10
问题2:从时间戳格式字符串(如
sales_close_7 = 2018-12-07)中提取月份和年份? 这里分两种简单的处理方式,看你习惯哪种:
方法1:直接字符串分割
因为你的字符串是固定的yyyy-mm-dd格式,直接用split('-')按横杠分割就行:
# 假设你的变量值是这个日期字符串 sales_close_7 = "2018-12-07" # 分割成三个部分:年、月、日 date_parts = sales_close_7.split('-') year = date_parts[0] month = date_parts[1] print(f"年份:{year},月份:{month}") # 输出:年份:2018,月份:12
方法2:转成Datetime对象再提取(更稳妥)
如果担心后续字符串格式可能有变化,或者需要做更多时间相关的操作,先把字符串转成datetime对象再提取会更靠谱:
from datetime import datetime sales_close_7 = "2018-12-07" # 用strptime()解析字符串,第一个参数是目标字符串,第二个是格式匹配符 dt_obj = datetime.strptime(sales_close_7, "%Y-%m-%d") # 然后就可以像问题1那样提取年份和月份了 year = dt_obj.year month = dt_obj.month print(f"年份:{year},月份:{month}") # 输出:年份:2018,月份:12
内容的提问来源于stack exchange,提问作者affadam seven
相关产品推荐
相关产品推荐

