小编use*_*933的帖子

即使加载时区表后,convert_tz也会返回null

我有一个 MySQL 数据库(托管在 Ubuntu 上),其中有一个带有时区的表。该日期采用 UTC 时区。我有一个正在使用此数据的应用程序,但需要将时间从 UTC 转换为 PST,以便以有用的格式显示数据。

这可能可以在应用程序级别上更改,但我目前没有时间这样做,所以我想做的是获取convert_tz正确的时区,直到我有时间更改应用程序以转换时区。

然而,每当我做类似的事情

SELECT id, 
       category, 
       convert_tz(create_datetime, 'UTC', 'PST') as create_datetime
FROM table
Run Code Online (Sandbox Code Playgroud)

我得到的结果是这样的

1, category, NULL
Run Code Online (Sandbox Code Playgroud)

我知道我需要加载时区表,所以我运行了以下命令:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Run Code Online (Sandbox Code Playgroud)

之后我重新启动了mysql服务。然而,convert_tz还是回归了NULL。有人可以帮我吗?

谢谢!

mysql sql

6
推荐指数
1
解决办法
3977
查看次数

如何在完成后重启python脚本

我有一个将运行的python脚本,它基本上收集数据并根据上次更新数据库将其插入数据库.基本上,我希望这个脚本继续运行并永不停止,并在完成后重新启动.最好的方法是什么?

我考虑使用cronjob并创建一个锁文件,并且每分钟运行一次脚本,但我觉得可能有更有效的方法.

这个脚本目前是在ubuntu OS上的python 2.7中编写的

谢谢您的帮助!

python cron

6
推荐指数
2
解决办法
2万
查看次数

在列表中打印给定字典键的所有值

我有一个字典列表,看起来像这样:

list =[{"id": 1, "status": "new", "date_created": "09/13/2013"}, {"id": 2, "status": "pending", "date_created": "09/11/2013"}, {"id": 3, "status": "closed", "date_created": "09/10/2013"}]
Run Code Online (Sandbox Code Playgroud)

我想要做的是能够打印这个与"id"相关的词典列表中的所有值.如果它只是一个词典,我知道我可以这样做:

print list["id"]
Run Code Online (Sandbox Code Playgroud)

如果它只是一个字典,但我如何为字典列表执行此操作?我试过了:

for i in list:
    print i['id']
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误说

TypeError: string indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)

有人可以帮我一把吗?谢谢!

python dictionary

5
推荐指数
1
解决办法
3万
查看次数

使用putty到ubuntu服务器上的LXC容器中的SSH

我将教别人如何使用ubuntu和python,我想设置他们自己的沙箱来玩,所以我使用LXC并按照本指南设置容器:

https://www.digitalocean.com/community/articles/getting-started-with-lxc-on-an-ubuntu-13-04-vps

但是,我有一个问题,我无法使用Putty SSH到该容器.虽然我可以正常使用putty SSH到我自己的盒子里,然后在其中启动一个ssh,我需要在那里登录.但是,我希望他们能够自己登录.

出于显而易见的原因,我不希望他们可以访问主盒本身,因为我用它来工作,所以如果他们删除任何东西或导致问题我可能会遇到麻烦.

我想简单地设置容器,他们可以乱搞并运行程序或移动文件或做任何他们喜欢的事情而不会弄乱主盒,然后能够自己登录它而不受干扰.

我该怎么做呢?

ssh ubuntu

5
推荐指数
1
解决办法
7994
查看次数

在python中指定日期时间所在的时区

我有一个从数据库中获取的日期时间,这个日期时间是一个 UTC 日期时间。但是当我从数据库中提取它时,它不知道时区。我需要做的是将此日期时间转换为另一个函数的“纪元秒数”时间。问题在于,系统的时间在 PST 中,由于特定原因我无法更改它。

所以,我想要做的是,获取我从数据库中获得的这个日期时间,并告诉 python 这个日期时间是一个 UTC 日期时间。我所做的每一种方式都会导致它因时区转换而失去时间或获得时间。同样,不是试图转换时间,只是试图指定它是 UTC。

如果有人可以帮助解决这个问题,那就太好了。

谢谢!

例子

假设 database_function() 返回的日期时间数据类型为 '2013-06-01 01:06:18'

datetime = database_function()
epoch = datetime.strftime('%s')

pytz.utc.localize(database_function()).datetime.strftime('%s')
datetime.replace(tzinfo=pytz.utc).datetime.strftime('%s')
Run Code Online (Sandbox Code Playgroud)

这两个都返回 1370077578 的纪元时间戳但是,它应该返回每个http://www.epochconverter.com/的时间戳 1370048778 记住,这个时间戳是一个 UTC 时间戳

python timezone datetime

5
推荐指数
1
解决办法
9942
查看次数

使用单个SQL语句选择多个max()值

我有一个表,其数据看起来像这样:

data_type, value
World of Warcraft, 500
Quake 3, 1500
Quake 3, 1400
World of Warcraft, 1200
Final Fantasy, 100
Final Fantasy, 500
Run Code Online (Sandbox Code Playgroud)

我想要做的是在一个语句中选择每个值的最大值.我知道我可以轻松做点什么

select data_type, max(value)
from table
where data_type = [insert each data type here for separate queries]
group by data_type
Run Code Online (Sandbox Code Playgroud)

但我希望它显示的是

select data_type, 
  max(value) as 'World of Warcraft', 
  max(value) as 'Quake 3', 
  max(value) as 'Final Fantasy'
Run Code Online (Sandbox Code Playgroud)

所以我在一个语句中得到每个的最大值.我该怎么做呢?

sql postgresql pivot crosstab

2
推荐指数
1
解决办法
8638
查看次数

标签 统计

python ×3

sql ×2

cron ×1

crosstab ×1

datetime ×1

dictionary ×1

mysql ×1

pivot ×1

postgresql ×1

ssh ×1

timezone ×1

ubuntu ×1