日期时间当前年份和月份python

时间:2015-01-28 10:06:54

标签: python datetime

我必须在datetime有当前年份和月份。 我用这个:

datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")

也许还有另一种方式?

8 个答案:

答案 0 :(得分:61)

试试这个解决方案:

from datetime import datetime

currentSecond= datetime.now().second
currentMinute = datetime.now().minute
currentHour = datetime.now().hour

currentDay = datetime.now().day
currentMonth = datetime.now().month
currentYear = datetime.now().year

答案 1 :(得分:37)

怎么样

today = datetime.today()
datem = datetime(today.year, today.month, 1)

我假设你想要这个月的第一天。

答案 2 :(得分:32)

我来不及但是有人会发现这在将来很有用。

from datetime import datetime

current_month = datetime.now().strftime('%m') // 02 //This is 0 padded
current_month_text = datetime.now().strftime('%h') // Feb
current_month_text = datetime.now().strftime('%B') // February

current_day = datetime.now().strftime('%d')   // 23 //This is also padded
current_day_text = datetime.now().strftime('%a')  // Fri
current_day_full_text = datetime.now().strftime('%A')  // Friday

current_weekday_day_of_today = datetime.now().strftime('%w') //5  Where 0 is Sunday and 6 is Saturday.

current_year_full = datetime.now().strftime('%Y')  // 2018
current_year_short = datetime.now().strftime('%y')  // 18 without century

current_second= datetime.now().strftime('%S') //53
current_minute = datetime.now().strftime('%M') //38 
current_hour = datetime.now().strftime('%H') //16 like 4pm
current_hour = datetime.now().strftime('%I') // 04 pm

current_hour_am_pm = datetime.now().strftime('%p') // 4 pm

current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need.

current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).

参考:https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

参考:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

以上内容对于现在或今天解析的任何日期都很有用,它可以用于任何日期解析。

e.g. 
my_date = "23-02-2018 00:00:00"

datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S+00:00')

datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%m')

依旧......

希望有人觉得这很有用。

答案 3 :(得分:5)

>>> from datetime import date
>>> date.today().month
2
>>> date.today().year
2020
>>> date.today().day
13

答案 4 :(得分:5)

最新答案,但您也可以使用:

import time
ym = time.strftime("%Y-%m")

答案 5 :(得分:3)

您始终可以使用子字符串方法

import datetime;

today = str(datetime.date.today());
curr_year = int(today[:4]);
curr_month = int(today[5:7]);

这将以整数格式显示当前月份和年份。如果你想让它们成为字符串,你只需删除" int"将值分配给变量curr_year和curr_month时的优先级。

答案 6 :(得分:1)

您可以使用date.replace

将接受的答案写成一行
datem = datetime.today().replace(day=1)

答案 7 :(得分:0)

使用正则表达式从字符串中提取日期和时间,然后使用 strptime 将字符串日期转换为日期时间索引

import re

s = "Audio was recorded at 21:50:00 02/07/2019 (UTC) by device 243B1F05 at gain setting 2 while battery state was 3.6V."

t = re.search(' (\d{2}:\d{2}:\d{2} \d{2}\/\d{2}\/\d{4}) ', s).group(1)

date=datetime.datetime.strptime(t,'%H:%M:%S %m/%d/%Y')
print(type(date))