Python REST API日期格式

时间:2013-12-31 20:36:50

标签: python api rest

我正在开发一个Python REST API项目,我需要从数据库中检索数据。数据库表具有时间戳列,因为数据需要每天多次记录。以下是代码的一部分。

在这段代码中,我需要API来显示当天的数据(而不是某个特定日期)。

import requests
import datetime

# Using python requests library, set up GET request
payload = {'date1' : 'CURDATE()', 'date2' : 'CURDATE() + INTERVAL 1 DAY'}

# Send GET request to REST API
r = requests.get('http://localhost:8080/data', params=payload)

# Decode the JSON result of the GET request
rows = r.json()

# Loop through data and format the date string
for i in rows:
    i[0] = datetime.datetime.fromtimestamp(i[0]).strftime('%Y-%m-%d %H:%M:%S')
print rows

在date1和date 2部分,我曾经使用某个日期,如2013-12-30和2013-12-31,该程序将返回2013-12-30的所有数据。现在,当我试图要求程序返回当天的任何数据时,程序会给我一个空白结果[]

代码需要与数据库通信,但我怀疑问题来自数据库部分。希望每个人都能帮助我。谢谢!

1 个答案:

答案 0 :(得分:0)

在Python代码中生成日期,而不是将任意SQL函数传递到数据库执行,这非常危险。

>> import datetime
>> today = datetime.date.today()
>> tomorrow = today + datetime.timedelta(days=1)
>> print today
2013-12-31
>> print tomorrow
2014-01-01

现在,您可以将todaytomorrow作为日期字符串(例如str(today)'{0}'.format(today))传递给您的网络服务。

如评论中所述,您的服务不是RESTful。在进一步讨论之前,您可能希望阅读REST。