Python在线约会?

时间:2009-05-26 01:21:57

标签: python

如何获取当前日期,月份和时间?一年在线使用Python?谢谢!

编辑 - 我的意思是,而不是从计算机的日期访问它 - 访问网站&得到它,所以它不依赖于计算机。

6 个答案:

答案 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')
小运动:
将您自己的UTC时间与在线时间进行比较:

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

(请记住,处理时间也包括在内)