我在StackExchange上搜索了一堆解决方案,但没有什么是我需要的.在JavaScript中,我使用以下内容来计算自1970年1月1日以来的UTC时间:
function UtcNow() {
var now = new Date();
var utc = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds(), now.getUTCMilliseconds());
return utc;
}
Run Code Online (Sandbox Code Playgroud)
什么是等效的Python代码?
Art*_*nka 149
试试这个使用datetime.utcnow()的代码:
from datetime import datetime
datetime.utcnow()
Run Code Online (Sandbox Code Playgroud)
出于您的目的,当您需要计算两个日期之间所花费的时间时,您所需要的只是减去结束日期和开始日期.这种减法的结果是timedelta对象.
从python文档:
class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
Run Code Online (Sandbox Code Playgroud)
这意味着默认情况下,您可以获得其定义中提到的任何字段 - 天,秒,微秒,毫秒,分钟,小时,周.timedelta实例也有total_seconds()方法:
返回持续时间中包含的总秒数.相当于(td.microseconds +(td.seconds + td.days*24*3600)*10*6)/ 10*6,使用真正的除法计算.
Tim*_*son 99
仅简单的标准库。与datetime.utcnow().
from datetime import datetime,timezone
now_utc = datetime.now(timezone.utc)
Run Code Online (Sandbox Code Playgroud)
Mar*_*som 37
在与您原件最接近的表格中:
import datetime
def UtcNow():
now = datetime.datetime.utcnow()
return now
Run Code Online (Sandbox Code Playgroud)
如果您需要知道1970-01-01而不是本机Python的秒数datetime,请改用:
return (now - datetime.datetime(1970, 1, 1)).total_seconds()
Run Code Online (Sandbox Code Playgroud)
Python的命名约定与您在Javascript中可能习惯的内容不一致,请参阅PEP 8.另外,简单地返回另一个函数的结果的函数是相当愚蠢的; 如果它只是让它更易于访问,你可以通过简单地分配它来为函数创建另一个名称.上面的第一个例子可以替换为:
utc_now = datetime.datetime.utcnow
Run Code Online (Sandbox Code Playgroud)
Mik*_*keL 17
import datetime
import pytz
# datetime object with timezone awareness:
datetime.datetime.now(tz=pytz.utc)
# seconds from epoch:
datetime.datetime.now(tz=pytz.utc).timestamp()
# ms from epoch:
int(datetime.datetime.now(tz=pytz.utc).timestamp() * 1000)
Run Code Online (Sandbox Code Playgroud)
Ces*_*ssa 12
from datetime import datetime, timezone
def utc_now():
return datetime.utcnow().replace(tzinfo=timezone.utc)
Run Code Online (Sandbox Code Playgroud)
从datetime.datetime开始,您已经可以使用方法strftime导出到时间戳.按照你的函数示例:
import datetime
def UtcNow():
now = datetime.datetime.utcnow()
return int(now.strftime("%s"))
Run Code Online (Sandbox Code Playgroud)
如果你想要微秒,你需要更改导出字符串并强制转换为浮点数: return float(now.strftime("%s.%f"))
小智 5
您可以使用datetime库来获取 UTC 时间甚至是本地时间。
import datetime
utc_time = datetime.datetime.utcnow()
print(utc_time.strftime('%Y%m%d %H%M%S'))
Run Code Online (Sandbox Code Playgroud)
小智 5
为什么所有回复都基于日期时间而不是时间?我认为这是最简单的方法!
import time
nowgmt = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
print(nowgmt)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
156051 次 |
| 最近记录: |