我正在训练把人类可读时间转换成纪元时间。这是我的测试用例
import time
text = '12.12.2020'
format = ['%d/%m/%Y','%m/%d/%Y','%d-%m-%Y','%m-%d-%Y','%d.%m.%Y','%m.%d.%Y','%d%m%Y','%m%d%Y']
for fmt in format:
try:
epoch = int(time.mktime(time.strptime(text,fmt)))
print (epoch)
break
except ValueError:
print('invalid input')
上面的代码打印4次“无效输入”,然后第5行打印正确的历元值,因为我的text='12.12.2020'输入字符串符合第5个条件。我需要打印,如果我的“文本”条件符合任何这些格式,然后只打印纪元值,否则打印“无效输入”。有谁能帮我解决这个问题吗?提前道谢。
首先,我强烈建议不要使用关键字format
作为变量名,因为它是Python本身的内置函数(https://docs.Python.org/3/library/functions.html)。这被称为分配变量名时的不良实践。
import time
format_list = ['%d/%m/%Y','%m/%d/%Y','%d-%m-%Y','%m-%d-%Y','%d.%m.%Y','%m.%d.%Y','%d%m%Y','%m%d%Y']
text = '12.1s2.2020'
for fmt in format_list:
try:
epoch = int(time.mktime(time.strptime(text,fmt)))
break
except:
epoch = 'invalid input'
pass
这将遍历format_list
并尝试将转换后的时间分配给变量epoch
。我没有像您那样打印“无效错误”,而是将其赋给epoch
,因此,如果for循环遍历所有八种可能性都没有成功,epoch
就等于“无效输入”
。但是,如果epoch=int(time.mktime(time.strptime(text,fmt)))
语句为true,则for循环中断,因此最后一个赋值(您需要的正确值)将持续。
您可以通过print()
函数输出epoch
:
print(epoch)
本例中的输出为:1607727600
。
问题内容: 我有包含Java应用程序中的Unix时间戳的Excel文档。我想看看它们翻译成什么,并在Excel中将其表示为人类可读的日期。 例如,以下long: 1362161251894的 求值 结果 应类似于: 2013年3月1日11:07:31,894 我假设可以为此创建一个公式,但不确定如何。谢谢! 问题答案: 是的,您可以创建一个公式来为您执行此操作。Java和Unix / Linux计
问题内容: 我一直在寻找一种将字符串(以纪元时间)转换为日期的方法。 基本上,我需要使用this:(以字符串形式)并将其放入this:中。 我一直在看strptime和strftime,但似乎都没有为我工作。有什么建议么? 编辑:谢谢,伙计们。我将其转换为int ,将其转换为,然后在其上运行。完美地工作! 问题答案: 如果只有该值是整数而不是字符串,则可以调用。如果只有某种方法可以将字符串转换为整
问题内容: 我如何最好地将90060(秒)转换为字符串“ 25h 1m”? 目前,我正在使用SQL执行此操作: 但是我不确定这是最方便的方法:-) 我愿意在SQL(不同于我已经在做)或PHP中做到这一点。 编辑: 所需字符串的示例:“ 5m”,“ 40m”,“ 1h 35m”,“ 45h”,“ 46h 12m”。 问题答案: 文档是您的朋友: http://dev.mysql.com/doc/re
问题内容: 我目前在使用Python时遇到问题。我有一个Pandas DataFrame,列之一是带有日期的字符串。格式为: “%Y-%m-%d%H:%m:00.000”。例如:“ 2011-04-24 01:30:00.000” 我需要将整列转换为整数。我尝试运行此代码,但是它非常慢,并且有几百万行。 你们知道如何将整个列转换为纪元时间吗? 提前致谢 ! 问题答案: 将字符串转换为using ,
上下文是,我们的产品中有一个现有的应用程序,它生成并向现有的oracle过程发送纪元号&反之亦然。它在该过程中使用如下内容 当我尝试这些查询时,它对我也适用于Oracle10g服务器(如果有关系的话,还有Oracle sql Developer4.x)。 在现有的过程中,要求将值保存为日期本身(时间组件与日期无关),但是在新的要求中,我必须将unix EPOCH值转换为日期时间(小时/分钟/秒级别