我可以使用Python脚本获取今天的日期和时间。但我需要以数字格式获取明天的日期和时间。所以我使用了下面的脚本。
#! /usr/bin/python
import datetime
import sys
import os
tomorrow = datetime.date.today() + datetime.timedelta(days=1)
print "Tomorrow date is" + str(tomorrow)
tm_stme = datetime.time(0, 0, 0)
tm_etime = datetime.time(23,59,59)
tm_stdate = datetime.datetime.combine(tomorrow, tm_stme)
tm_enddate = datetime.datetime.combine(tomorrow,tm_etime)
print "tomorrow start date:" + tm_stdate
print "tomorrow end date:" + tm_enddate
tm_sdt_convert = time.mktime(time.strptime(tm_stdate, "%Y-%m-%d %H:%M:%S"))
tm_tdt_convert = time.mktime(time.strptime(tm_enddate, "%Y-%m-%d %H:%M:%S"))
但它会引发以下错误:
administrator @ Ashok-Dev:〜/ Desktop $ python testing.py
明天的日期是2012-11-24
追溯(最近的呼叫最后):
文件“testing.py”,第13行,在< module>中 打印“明天开始日期:”+ tm_stdate
TypeError:无法连接'str'和'datetime.datetime'对象
我需要将tm_sdt_convert
作为变量结果。如何在没有错误的情况下获得输出?
答案 0 :(得分:2)
您正在连接字符串和日期时间对象。首先将datetime对象转换为字符串:
print "tomorrow start date:" + str(tm_stdate)
如果您改为使用逗号,print
语句将为您执行字符串转换并插入空格:
print "tomorrow start date:", str(tm_stdate)
或者您可以使用字符串格式:
print "tomorrow start date: {0!s}".format(tm_stdate)
如果您想影响 数据时间对象如何转换为字符串,请使用.strftime()
method更精确地格式化日期和时间:
print "Tomorrow's start date: {0}".format(tm_stdate.strftime('%Y-%m-%d'))
或者您可以使用.isoformat()
method将字符串格式化为符合标准的特定格式:
print "Tomorrow's start date: {0}".format(tm_stdate.isoformat())
答案 1 :(得分:2)
tm_stdate
是datetime
,而不是str
。要将datetime
变为str
,您可以
tm_stdate.isoformat()
或
tm_stdate.strftime(<some format string>)
答案 2 :(得分:1)
这样的事可以帮到你
In [125]: datetime.datetime.now()
Out[125]: datetime.datetime(2012, 11, 23, 17, 11, 15, 765000)
In [126]: str(datetime.datetime.now() + datetime.timedelta(days=1))
Out[126]: '2012-11-24 17:11:18.203000'
获取个别事物
In [127]: (datetime.datetime.now() + datetime.timedelta(days=1)).day
Out[127]: 24
In [128]: (datetime.datetime.now() + datetime.timedelta(days=1)).year
Out[128]: 2012
In [129]: (datetime.datetime.now() + datetime.timedelta(days=1)).month
Out[129]: 11
答案 3 :(得分:1)
查看datetime模块文档:http://docs.python.org/2/library/datetime.html
函数'strftime'就是你要找的。它有一个关于如何使用它的例子。如果你需要额外的帮助,请给我一个大喊。