百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

DAY6-step6 Python DateTime, TimeDelta, Strftime(Format)

off999 2024-10-07 12:16 40 浏览 0 评论

在Python中,日期,时间和日期时间类提供了许多函数来处理日期,时间和时间间隔。 日期和日期时间是Python中的对象,因此在操作它们时,实际上是在操作对象,而不是字符串或时间戳。 每当您操纵日期或时间时,都需要导入datetime函数。

Python中的datetime类分为5个主要类。

  • date –调整日期(月,日,年)
  • time –与时间无关的时间(小时,分钟,秒,微秒)
  • datetime –时间和日期的组合(月,日,年,小时,秒,微秒)
  • timedelta-用于操纵日期的时间长度
  • tzinfo-处理时区的抽象类

如何使用Date和DateTime类

步骤1)在运行日期时间代码之前,重要的是导入日期时间模块,如下面的屏幕快照所示。

这些import语句是Python库中预定义的函数,可让您无需编写任何代码即可操纵日期和时间。

在执行日期时间代码之前,请考虑以下几点

from datetime import date

此行告诉Python解释器,从datetime模块导入date类我们不会为此日期函数编写代码,而只是将其导入供我们使用

步骤2)接下来,我们创建日期对象的实例。

步骤3)接下来,我们打印日期并运行代码。

输出是预期的。

使用date.today()打印日期

date.today函数具有与其关联的多个属性。 我们可以打印单独的日/月/年以及其他内容

让我们看一个例子

今天的星期几Weekday

date.today()函数还会为您提供星期几Weekday 。 这是星期几Weekday 表,其星期一从0开始,星期日从6开始


Weekday Number对于其索引取决于星期几的阵列很有用。

Python当前日期和时间:now()today()

步骤1)与日期对象一样,我们也可以在Python中使用“ DATETIME OBJECTS”。 它以小时,分钟,秒和毫秒为单位给出日期以及时间。

当我们为datetime执行代码时,它将为输出提供当前日期和时间。

步骤2)使用“ DATETIME OBJECT”,您还可以调用时间类别。

假设我们只想打印当前时间而不显示日期。

t = datetime.time(datetime.now())
  • 我们已经导入了时间课程。 我们将使用datetime.now()为其分配时间的当前值。
  • 我们正在将当前时间的值分配给变量t。

这会给我时间。 因此,让我们运行该程序。

好的,所以您可以看到这里有日期和时间。 然后下一行,我只有时间了

步骤3)我们将工作日索引器应用到工作日的arrayList中,以了解今天是星期几

根据当前工作日的不同,为工作日操作员(wd)分配(0-6)号中的数字。 在这里,我们声明了几天的列表数组(星期一,星期二,星期三…星期日)。

使用该索引值可以知道是哪一天。 在我们的例子中,它是#2,代表星期三,因此在输出中将输出“哪个星期三”。

这是现在使用datetime获取当前日期和时间的完整代码

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

如何使用Strftime()格式化日期和时间输出

到目前为止,我们已经了解了如何在Python中使用datetime和date对象。 我们将进一步前进,并学习如何使用格式化函数来格式化时间和日期。

步骤1)首先,我们将看到一个简单的年份格式设置步骤。 最好通过一个例子来理解。

  • 我们使用“ strftime函数”进行格式化。
  • 此函数使用不同的控制代码来提供输出。
  • 每个控制代码都类似于不同的参数,例如年,月,周日和日期[(%y /%Y –年),(%a /%A-工作日),(%b /%B-月),(%d-天 的月份)]。
  • 在我们的例子中,是(“%Y”)类似于年份,它打印出带有世纪的全年(例如,2018年)。

步骤2)现在,如果将(“%Y”)用小写字母替换,即(“%y)并执行代码,则输出将仅显示(18),而不显示(2018)。 显示在下面的屏幕截图中

步骤3)Strf函数可以分别声明日期,日,月和年。 同样,在strftime函数中对控制代码进行小的更改后,您也可以设置文本样式的格式。

在strftime函数中,如果将(%a)替换为大写字母A,即(%A),则输出将显示为“ Firday”(星期五),而不仅仅是缩写“ Fri”。

步骤4)借助“ Strftime”函数,我们还可以检索本地系统时间,日期或两者。

  • %C-表示本地日期和时间
  • %x-表示本地日期
  • %X-表示本地时间

在输出中,您可以看到预期的结果

步骤5)“ strftime函数”允许您以24小时或12小时的任何格式调用时间。

只需定义控制代码(例如%I / H表示小时,%M表示分钟,%S表示秒),就可以调用不同格式的时间

声明了12小时的时间[print now.strftime(“%I:%M:%S%P)]

声明了24小时为时间[print now.strftime(“%H:%M”)]

这是将datetime转换为String对象的完整代码。

#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print(now.strftime("%c"))
      print(now.strftime("%x"))
      print(now.strftime("%X"))
##### Time Formatting ####
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
      print(now.strftime("%H:%M")) # 24-Hour:Minute

if __name__== "__main__":
    main()

如何使用Timedelta对象

使用timedelta对象,您可以估算未来和过去的时间。 换句话说,预测任何特殊的日期,日期或时间都是一个时间跨度。

请记住,此函数不是用于打印时间或日期,而是用于计算将来或过去的内容。 让我们看一个例子,以更好地理解它。

步骤1)要运行Timedelta对象,您需要先声明import语句,然后执行代码

为timedelta编写导入语句

现在编写代码以从时间增量中打印出对象,如屏幕截图所示

运行代码。 timedelta代表365天,8小时15分钟的跨度,并且打印相同

步骤2)让我们获取今天的日期和时间,以检查我们的导入语句是否运行良好。 执行代码后,它会打印出今天的日期,这意味着我们的导入语句运行良好

步骤3)我们将看到如何通过增量对象检索一年之后的日期。 当我们运行代码时,它将给出预期的输出。

步骤4)如何使用时间增量从当前日期和时间计算未来日期的另一个示例

步骤5)让我们看一个更复杂的例子。 我想确定新年过后的几天。 这是我们将如何进行

使用today = date.today()我们将获得今天的日期

我们知道新年总是1月1日,但是年份可能会有所不同。 使用nyd = date(today.year,1,1),我们将新年度存储在变量nyd中

如果nyd <today:比较当前日期是否大于新年。 如果是,则进入while循环

((today-nyd).days)给出当前日期和新年之间的差异(以DAYS为单位)

输出显示“元旦已经过去了11天”。

这是完整的工作代码

#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print ("New Year day is already went by %d days ago" % ((today - nyd).days))

Python 2 Example

from datetime import date
from datetime import time
from datetime import datetime
def main():
 	##DATETIME OBJECTS
    #Get today's date from datetime class
	today=datetime.now()
	#print today
	# Get the current time
	#t = datetime.time(datetime.now())
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
        print "Today is day number %d" % wd
        print "which is a " + days[wd]

if __name__== "__main__":
    main()
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print now.strftime("%c")
      print now.strftime("%x")
      print now.strftime("%X")
##### Time Formatting ####   
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
      print now.strftime("%H:%M") # 24-Hour:Minute   

if __name__== "__main__":
    main()
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print "New Year day is already went by %d days ago" % ((today - nyd).days)

摘要

为了以简单和复杂的方式处理日期和时间,datetime模块提供了不同的类或类别,例如

  • 日期–调整日期(月,日,年)
  • 时间–与时间无关的时间(小时,分钟,秒,微秒)
  • datetime –时间和日期的组合(月,日,年,小时,秒,微秒)
  • timedelta-用于操纵日期的时间长度
  • tzinfo-处理时区的抽象类

使用日期时间对象

  • 在执行代码之前必须导入datetime对象
  • 使用date.today函数打印单个日期/月份/年份以及索引日期
  • 使用date.time对象获取小时,分钟,秒和毫秒的时间

使用“ str f时间函数”格式化超时

  • 使用“ str f时间函数”更改年份的格式
  • 分别打印日期,日期,月份和年份,
  • 任何格式的呼出时间12小时或24小时

Timedelta对象

  • 使用timedelta对象,您可以估算未来和过去的时间
  • 计算从当前时间到特殊日期(生日)剩余的总天数
  • 计算从当前时间到特殊日期(生日)的总天数

相关推荐

安装win7系统usb无法识别(win7安装后 不认usb)

一、确认电脑是否有USB支持:1.右击“计算机”,选择“管理”;2.在左侧菜单栏中依次展开“设备管理器”→“系统设备”→“总线控制器”,可以看到有USB项;3.如果没有USB项,表示没有安装USB...

解除手机浏览器网页限制(手机怎么解除浏览器对网站的拦截)
解除手机浏览器网页限制(手机怎么解除浏览器对网站的拦截)

如果要解除手机浏览器禁止访问网页,首先打开设置图标,进去打开屏幕使用时间选项,再打开内容和隐私访问限制选项,接着找到并打开允许的应用选项,然后找到Safari浏览器,把右侧的绿色开关打开,就解除禁止访问了。解决步骤:1.从手机中开启自带的浏...

2025-12-12 01:51 off999

如何彻底修复ie

可以通过清理缓存和数据来修复IE浏览器因为IE浏览器可能会受到缓存和数据的干扰,导致无法正常访问网页或者打开网页很慢。清理浏览器的缓存和数据可以解决这个问题,具体方法是:打开IE浏览器,点击“工具”-...

键盘强制关机键是什么(电脑键盘强制关机)

Ctrl+alt+delete一、按一下键盘上的win键,然后再按一下键盘上的右箭头(win7或者win8以上系统可能要按2下右箭头键),这个时候就会弹出关机选择菜单,接下来只要回车就可以强制关机了...

qq找回删除好友(找回qq被删除的好友)
  • qq找回删除好友(找回qq被删除的好友)
  • qq找回删除好友(找回qq被删除的好友)
  • qq找回删除好友(找回qq被删除的好友)
  • qq找回删除好友(找回qq被删除的好友)
win10设置了不休眠仍休眠(win10电脑设置不休眠为什么还是会休眠)

win10设置了永不休眠还是休眠可能是设置错误导致的,解决方法如下1,打开任务计划程序,在操作里选择创建基本任务。2,第一步页面是让你写个你的任务名称,这个随意。3,点下一步后会来到触发器页面,在这里...

电脑底部任务栏卡死(电脑底部任务栏卡死是什么原因)

1、首先,先打开控制面板找到系统和安全点击进入:2、然后,在点击系统和安全中的系统进入:3、之后,在系统中靠左边的菜单中找到高级系统设置点击进入:4、然后在系统属性中找到性能并单击鼠标左键进入设置:5...

随身wifi怎么设置不让别人蹭网

1.设置更复杂的密码加密是防蹭网的主要途径,一定要在配置路由器的无线网络时,在“无线网络安全设置”选项中,开启WPA-PSK/WPA2-PSK加密功能,并设置较复杂的密码(数字字母符号的组合最好),而...

以太网驱动程序下载(以太网驱动下载 win7官网)

请更新以太网驱动!可以安装其原装的驱动程序!或用驱动之家或驱动精灵更新驱动!以太网的驱动名称是EthernetDriver。以太网驱动是计算机操作系统中的一个软件程序,用于控制和管理计算机与以太网之...

新主板怎么装系统(新主板装机设置教程)

我从网上搜的教程,试了下可以装,大家可以试一试可以使用u盘启动盘重装系统的方式来安装新系统,具体的步骤如下:1、先在一台能用的电脑上安装咔咔装机一键重装系统工具,插入一个8GB以上的空白U盘,...

为什么电脑突然少了dll文件(电脑缺失各种dll文件是什么原因)

DLL文件丢失通常是由以下原因引起的:病毒或恶意软件感染:病毒或恶意软件可能会删除系统中的一些DLL文件,导致程序无法正常工作。软件安装或卸载不当:在安装或卸载某些软件时,可能会误删系统中的一些DLL...

win10去掉桌面图标小箭头(win10如何去掉桌面图标的小箭头)

1、首先开始图标右键找到运行或者按快捷键Win+R;   2、打开“运行”窗口后,输入“regedit”,确认会弹出注册表编辑器;  &...

2014版本cad序列号及密码(2014年cad序列号)

序列号:356-72378422,密钥:001F1AutoCAD2014需要本地注册运行,别人无法帮你算出受人以鱼不如受人以渔要关闭杀毒软件和助手(切记:如果是Vista或windows7系统,请务必...

gho文件浏览工具(打开gho文件)

利用GHO文件浏览工具即可在电脑上打开GHO文件,具体操作请参照以下步骤。1、打开浏览器搜索【GHO文件浏览工具】,打开链接下载好软件安装包,安装到电脑上。2、在电脑上打开软件之后,就会出现【Ghos...

三星 官网(三星 官网免费查询)

答:三星官网售后服务官网:http://support-cn.samsung.com/support/ServiceLocations.asp国家工信部电信设备进网管理网站查询移动设备真伪方式:方法一...

取消回复欢迎 发表评论: