Python 是否编写函数以使用时间显示当前日期?
我一直在编写一个时间转换器来获取系统时间,并将其转换为人类可读的日期/时间。哦,这是我的第二个python脚本。我们将把这个事实放在一边,继续前进 完整的脚本是托管的 为年度和月度编写转换器是相当容易的,但为了让这一天正常工作,我遇到了严重的困难。正如你所看到的,从1970年到今天,我一直试图用暴力来对付我。不幸的是,结果是-105 有人知道更好的方法吗,或者有人知道如何解决我在这里尝试的问题吗?现在是凌晨3:30,所以我很可能错过了一些明显的东西Python 是否编写函数以使用时间显示当前日期?,python,time,time-t,Python,Time,Time T,我一直在编写一个时间转换器来获取系统时间,并将其转换为人类可读的日期/时间。哦,这是我的第二个python脚本。我们将把这个事实放在一边,继续前进 完整的脚本是托管的 为年度和月度编写转换器是相当容易的,但为了让这一天正常工作,我遇到了严重的困难。正如你所看到的,从1970年到今天,我一直试图用暴力来对付我。不幸的是,结果是-105 有人知道更好的方法吗,或者有人知道如何解决我在这里尝试的问题吗?现在是凌晨3:30,所以我很可能错过了一些明显的东西 抱歉,我忘了注意到我是为了学习python而手
抱歉,我忘了注意到我是为了学习python而手动执行此操作的。不幸的是,通过日期函数执行此操作无法达到目的。您可以使用以下两种方法之一执行此操作: 或与:
您可以使用以下两种方法之一: 或与: 为什么不使用:
from datetime import datetime
the_date = datetime.fromtimestamp(the_time)
print(the_date.strftime('%Y %B %d'))
datetime模块处理所有边缘情况——闰年、闰秒、闰日——以及时区转换(带有可选的第二个参数)为什么不使用:
from datetime import datetime
the_date = datetime.fromtimestamp(the_time)
print(the_date.strftime('%Y %B %d'))
datetime模块处理所有边缘情况——闰年、闰秒、闰日——以及时区转换(带有可选的第二个参数)(我假设您这样做是为了学习Python,所以我将指出代码中的错误)
诺诺诺。你不能那样做。有些年份有31536000秒,有些年份有31622400秒
>>> if calendar.isleap(yeariterator) == True:
您不需要测试真值是否为真。:-)做:
相反
也改变了:
>>> yeariterator = 1969
>>> iterator = 0
>>> while yeariterator < yearsfordayfunction:
>>> yeariterator = yeariterator + 1
8个空格的缩进量很大。4更常见
另外,我会用一种方法计算年份和日期,而不是两次
def YearDay():
SecondsSinceEpoch = int(time.time())
days = SecondsSinceEpoch // 86400 # Double slash means floored int.
year = 1970
while True:
if calendar.isleap(year):
days -= 366
else:
days -= 365
year += 1
if calendar.isleap(year):
if days <= 366:
return year, days
else:
if days <= 365:
return year, days
def MonthDay(year, day):
if calendar.isleap(year):
monthstarts = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
else:
monthstarts = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
month = 0
for start in monthstarts:
if start > day:
return month, day - monthstarts[month-1] + 1
month += 1
def YearDay():
SecondsSinceEpoch=int(time.time())
天=秒纪元//86400#双斜杠表示下限整数。
年份=1970年
尽管如此:
如果calendar.isleap(年):
天数-=366天
其他:
天数-=365天
年份+=1
如果calendar.isleap(年):
if days(我假设您这样做是为了学习Python,所以我将指出代码中的错误)
诺诺诺。你不能那样做。有些年份有31536000秒,有些年份有31622400秒
>>> if calendar.isleap(yeariterator) == True:
您不需要测试真值是否为真。:-)做:
相反
也改变了:
>>> yeariterator = 1969
>>> iterator = 0
>>> while yeariterator < yearsfordayfunction:
>>> yeariterator = yeariterator + 1
8个空格的缩进量很大。4更常见
另外,我会用一种方法计算年份和日期,而不是两次
def YearDay():
SecondsSinceEpoch = int(time.time())
days = SecondsSinceEpoch // 86400 # Double slash means floored int.
year = 1970
while True:
if calendar.isleap(year):
days -= 366
else:
days -= 365
year += 1
if calendar.isleap(year):
if days <= 366:
return year, days
else:
if days <= 365:
return year, days
def MonthDay(year, day):
if calendar.isleap(year):
monthstarts = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
else:
monthstarts = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
month = 0
for start in monthstarts:
if start > day:
return month, day - monthstarts[month-1] + 1
month += 1
def YearDay():
SecondsSinceEpoch=int(time.time())
天=秒纪元//86400#双斜杠表示下限整数。
年份=1970年
尽管如此:
如果calendar.isleap(年):
天数-=366天
其他:
天数-=365天
年份+=1
如果calendar.isleap(年):
如果天我还将指出您发布的代码中的一些奇怪之处:
try:
SecondsSinceEpoch = time.time()
except IOError:
Print("Unable to get your system time!")
1.)为什么time.time()
会引发IOError?据我所知,该函数不可能引发错误,它应该始终返回一个值
2.Print
应该是Print
3.)即使time.time
确实引发了IOError
异常,您也在吞咽异常,这可能是您不想做的。下一行需要定义SecondsSinceEpoch
,这样只会引发另一个(更令人困惑的)异常。我还将指出您发布的代码中的一些奇怪之处:
try:
SecondsSinceEpoch = time.time()
except IOError:
Print("Unable to get your system time!")
1.)为什么time.time()
会引发IOError?据我所知,该函数不可能引发错误,它应该始终返回一个值
2.Print
应该是Print
3.)即使time.time
确实引发了IOError
异常,您也在吞咽异常,这可能是您不想做的。下一行需要定义SecondsSinceEpoch
,这样只会引发另一个(更令人困惑的)异常。您这样做(手动)只是为了学习Python吗?否则,您可以使用内置的时间格式化函数:time.strftime是的,我应该提到这一点,对不起。我认为在其中编写C不会学到多少Python。这是值得思考的。你用这种(手动)方式只是为了学习Python吗?否则,您可以使用内置的时间格式化函数:time.strftime是的,我应该提到这一点,对不起。我认为在其中编写C不会学到多少Python。值得思考。将print更改为print()--print是Python 3中的一个函数虽然这是我问题的“正确”答案,但我这样做并不是为了制作一个工作时钟!我这样做是为了学习python,所以像这样的快捷方式函数不符合本练习的目的。谢谢你的回答!学习Python的乐趣之一就是学习不需要自己实现的东西!标准库相当全面,PyPi提供了许多第三方模块。可能还想签出已更改的print to print()--print是Python 3中的一个函数虽然这是对我的问题的“正确”答案,但我这样做并不是为了制作一个工作时钟!我这样做是为了学习python,所以像这样的快捷方式函数不符合本练习的目的。谢谢你的回答!学习Python的乐趣之一就是学习不需要自己实现的东西!标准库相当全面,PyPi提供了许多第三方模块。可能还想退房谢谢,这正是我要找的!但有几点我不确定:1。GetDays()函数实际上应该获取当月的日期:(我最初让它在days之前的几个月内迭代不,缩进大小无关紧要,但我认为它在4个空格处更具可读性。