如何获取当前日期,月份和时间?一年在线使用Python?谢谢!
编辑 - 我的意思是,而不是从计算机的日期访问它 - 访问网站&得到它,所以它不依赖于计算机。
答案 0 :(得分:30)
所以考虑“将是如此微不足道”的部分,我继续前进,只是制作a google app engine web app - 当你访问它时,它返回一个声称是HTML的简单响应,但实际上只是一个字符串,如{{ 1}}。任何功能请求? - )
Python的urllib模块的用法示例:
Python 2.7
2009-05-26 02:01:12 UTC\n
Python 3.x +
>>> from urllib2 import urlopen
>>> res = urlopen('http://just-the-time.appspot.com/')
>>> time_str = res.read().strip()
>>> time_str
'2017-07-28 04:55:48'
答案 1 :(得分:4)
如果你不能使用NTP,而是想坚持使用HTTP,你可以urllib.urlget("http://developer.yahooapis.com/TimeService/V1/getTime")
并解析结果:
<?xml version="1.0" encoding="UTF-8"?>
<Error xmlns="urn:yahoo:api">
The following errors were detected:
<Message>Appid missing or other error </Message>
</Error>
<!-- p6.ydn.sp1.yahoo.com uncompressed/chunked Mon May 25 18:42:11 PDT 2009 -->
请注意,日期时间(在PDT中)位于最终注释中(错误消息是由于缺少APP ID)。可能有更合适的Web服务来获取HTTP中的当前日期和时间(不需要注册&amp; c),例如,在谷歌应用引擎上免费提供这样的服务将是如此微不足道,但我不知道一个随便。
答案 2 :(得分:1)
可以使用此NTP服务器。
import ntplib
import datetime, time
print('Make sure you have an internet connection.')
try:
client = ntplib.NTPClient()
response = client.request('pool.ntp.org')
Internet_date_and_time = datetime.datetime.fromtimestamp(response.tx_time)
print('\n')
print('Internet date and time as reported by NTP server: ',Internet_date_and_time)
except OSError:
print('\n')
print('Internet date and time could not be reported by server.')
print('There is not internet connection.')
答案 3 :(得分:0)
这是一个用于在线点击NIST http://freshmeat.net/projects/mxdatetime的python模块。
答案 4 :(得分:0)
也许您的意思是NTP协议?该项目可能有所帮助:http://pypi.python.org/pypi/ntplib/0.1.3
答案 5 :(得分:0)
为了利用在线时间字符串,例如从在线服务(http://just-the-time.appspot.com/)派生,可以使用urllib2和datetime.datetime读取并转换为datetime.datetime格式:
import urllib2
from datetime import datetime
def getOnlineUTCTime():
webpage = urllib2.urlopen("http://just-the-time.appspot.com/")
internettime = webpage.read()
OnlineUTCTime = datetime.strptime(internettime.strip(), '%Y-%m-%d %H:%M:%S')
return OnlineUTCTime
或非常紧凑(不太好读)
OnlineUTCTime=datetime.strptime(urllib2.urlopen("http://just-the-time.appspot.com/").read().strip(),
'%Y-%m-%d %H:%M:%S')
小运动:print(datetime.utcnow() - getOnlineUTCTime())
# 0:00:00.118403
#if the difference is negatieve the result will be something like: -1 day, 23:59:59.033398
(请记住,处理时间也包括在内)