我想编写一个可以将EST(USEast标准时间)的时间转换为另一个本地时区的时间的函数.
输入将是"时间在EST",格式为"Ymd H:i:s"(即2011-08-23 05:05:35),"城市","州"和"国家"
该功能应返回当地时间(即如果城市,州,国家是旧金山,加利福尼亚州,美国,并且EST的时间是2011-08-23 05:05:35,功能应该返回2011-08-23 02: 05:35)
我试图从php.net搞清楚,但似乎我需要一个大陆来指定时区......我不知道如何将一个国家转换为一个大陆.
谢谢
我正在为以下问题请求PHP解决方案:
我在数据库中有~15个表,每个表有10-50万行,总计达到2亿行,其中列为userID,B,C,D.
我有9个其他表的列userID,fbID.每个表有大约200万行.从userID到fbID的一对一映射.
我的目标是输出这些2亿行的文件,列为fbID,B,C,D.
为了做到这一点,我必须搜索包含userID和fbID列的所有9个表,因为userID可以在一个表中找到,但不能在其他表中找到.我可以在任何一个表中找到userID后立即停止.这部分我正在使用SQL和PHP.SQL查询包括LIMIT 1,因此每当找到userID时我只返回1行,因为这些表可以包含多个具有相同userID的行.
不幸的是,这个算法需要大约60s/1k行,这需要大约130天才能完成.
有没有更有效的方法来做到这一点?
我不是数据库计算时间如何工作的专家,但我想到了一些想法:
-query遍历所有9个表,并使用userID键和fBID值创建查找表.
- 使用这9个表在数据库中创建一个新表,每个userID有一行,以及相应的FBID并搜索这个表.
这里有关于表格的更具体信息:
表总计达2亿行(每个行看起来像这样):
Column Type Null Default
dtLogTime datetime Yes NULL
iUin int(10) No
B int(10) No
C int(10) No
D int(10) No
Run Code Online (Sandbox Code Playgroud)
索引:
Keyname Type Unique Packed Column Cardinality Collation Null Comment
dtLogTime BTREE No No dtLogTime 323542 A YES
iUin BTREE No No iUin 323542 A
Run Code Online (Sandbox Code Playgroud)
其他9个表中的一个:
Column Type Null Default Comments
dtLogTime datetime Yes NULL
iUin int(10) No
vFBID varchar(48) No
Run Code Online (Sandbox Code Playgroud)
索引:
Keyname Type Unique Packed …Run Code Online (Sandbox Code Playgroud)