Python时区设置方法与pytz查询时区教程
时区的概念与转换
首先要知道时区之间的转换关系,其实这很简单:把当地时间减去当地时区,剩下的就是格林威治时间了。 例如北京时间的18:00就是18:00+08:00,相减以后就是10:00+00:00,因此就是格林威治时间的10:00。
而把格林威治时间加上当地时区,就能得到当地时间了。 例如格林威治时间的10:00是10:00+00:00,转换成太平洋标准时间就是加上-8小时,因此是02:00-08:00。
而太平洋标准时间转换成北京时间转换也一样,时区相减即可。 例如太平洋标准时间的02:00-08:00,与北京时间相差-16小时,因此结果是18:00+08:00。
Python时区的处理
发现python没有简单的处理时区的方法,不明白为什么Python不提供一个时区模块来处理时区问题。 好在我们有个第三方pytz模块,能够帮我们解决一下时区问题。
pytz简单教程
pytz查询某个的时区
可以根据国家代码查找这个国家的所有时区。
>>> import pytz
>>> pytz.country_timezones('cn')
['Asia/Shanghai', 'Asia/Harbin', 'Asia/Chongqing', 'Asia/Urumqi', 'Asia/Kashgar']
pytz创建时区对象
根据上面得到的时区信息,就可以创建指定的时区对象。比如创建上海时区对象:
tz = pytz.timezone('Asia/Shanghai')
得到某个时区的时间
然后在创建时间对象时进行指定上面时区,就可以得到指定时区的日期时间:
>>> import datetime
>>> datetime.datetime.now(tz)
相关推荐
-
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Python项目中很多时候会需要将时间在Datetime格式和TimeStamp格式之间转化,又或者你需要将UTC时间转化为本地时间,本文总结了这几个时间之间转化的函数,供大家参考. 一.Datetime转化为TimeStamp def datetime2timestamp(dt, convert_to_utc=False): ''' Converts a datetime object to UNIX timestamp in milliseconds. ''' if isinstance(d
-
Python用模块pytz来转换时区
前言 最近遇到了一个问题:我的server和client不是在一个时区,server时区是EDT,即美国东部时区,client,就是我自己的电脑,时区是中国标准时区,东八区.处于测试需要,我需要向server发送一个时间,使得server在这个时间戳去执行一些动作.这个时间戳通常是当前时间加2分钟或者几分钟. 通常美东在夏令时时,和我们相差12小时,所以直接减掉这12小时,然后再加两分钟,可以实现发送基于server的时间戳,但是只有一半时间是夏令时,所以考虑还是基于时区来做.百度了一下,Pyt
-
Python入门教程 超详细1小时学会Python
为什么使用Python 假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用ping ip 的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Reply from ... " 而不通的时候文本是"time out ... " ,所以,在结果中进行
-
Python时间戳与时间字符串互相转换实例代码
复制代码 代码如下: #设a为字符串import timea = "2011-09-28 10:00:00" #中间过程,一般都需要将字符串转化为时间数组time.strptime(a,'%Y-%m-%d %H:%M:%S')>>time.struct_time(tm_year=2011, tm_mon=9, tm_mday=27, tm_hour=10, tm_min=50, tm_sec=0, tm_wday=1, tm_yday=270, tm_isdst=-1) #
-
python将MongoDB里的ObjectId转换为时间戳的方法
本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法.分享给大家供大家参考.具体分析如下: MongoDB里的_id字段前四位是时间戳的16进制表示,通过Python可以很容易从_id中提取出时间戳来 def timestamp_from_objectid(objectid): result = 0 try: result = time.mktime(objectid.generation_time.timetuple()) except: pass return r
-
python正常时间和unix时间戳相互转换的方法
本文实例讲述了python正常时间和unix时间戳相互转换的方法.分享给大家供大家参考.具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来, 例如:1332888820 格式转换成 2012-03-28 06:53:40的形式 # -*- coding: utf-8 -*- import time def timestamp_datetime(value): format = '%Y-%m-%d %H:%M:%S' # value为传入的值为时间戳(
-
Python中用altzone()方法处理时区的教程
altzone()方法是time模块的属性.当地的DST时区的这返回的偏移量,在UTC西部秒钟,如果一个定义.这是负值,如果当地的DST时区为UTC东边(如西欧,包括英国).只有用这个,如果白天不为零. 语法 以下是altzone()方法的语法: time.altzone 参数 NA 返回值 当地的DST时区的这个方法返回的偏移量,在UTC西部秒钟,如果一个定义. 例子 下面的例子显示了altzone()方法的使用. #!/usr/bin/python import time print "ti
-
python操作日期和时间的方法
不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法.1.将字符串的时间转换为时间戳 复制代码 代码如下: 方法:a = "2013-10-10 23:40:00"#将其转换为时间数组import timetimeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")#转换为时间戳:timeStamp = int(t
-
Python时区设置方法与pytz查询时区教程
时区的概念与转换 首先要知道时区之间的转换关系,其实这很简单:把当地时间减去当地时区,剩下的就是格林威治时间了. 例如北京时间的18:00就是18:00+08:00,相减以后就是10:00+00:00,因此就是格林威治时间的10:00.而把格林威治时间加上当地时区,就能得到当地时间了. 例如格林威治时间的10:00是10:00+00:00,转换成太平洋标准时间就是加上-8小时,因此是02:00-08:00.而太平洋标准时间转换成北京时间转换也一样,时区相减即可. 例如太平洋标准时间的02:00-
-
Lumen timezone 时区设置方法(慢了8个小时)
根据 Laravel 4.x 和 5.0 的经验, 只需要到 config/app.php 中设置下 'timezone' 参数为 'PRC' 就好了, 找到 Lumen 的 config 目录, 在 /vendor/laravel/lumen-framework/config 路径下, 但是 config/app.php 的参数选项中没有 timezone 参数选项, 手动加上后也是无效的. 然后想到 Laravel 5 的 .env 文件, 结果发现 Lumen 的 .env 文件里也没有关
-
在Python中用keys()方法返回字典键的教程
keys()方法返回在字典中的所有可用的键的列表. 语法 以下是keys()方法的语法: dict.keys() 参数 NA 返回值 此方法返回在字典中的所有可用的键的列表. 例子 下面的例子显示keys()方法的用法. #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7} print "Value : %s" % dict.keys() 当我们运行上面的程序,它会产生以下结果: Value : ['Age', 'Name']
-
mysql时区查看与设置方法
一.查看数据库时区 show variables like'%time_zone'; mysql> show variables like "%time_zone"; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | CEST | | time_zone | SYSTEM | +------------------+-
-
Python的Django框架实现数据库查询(不返回QuerySet的方法)
一.创建模型类: # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models class Course(models.Model): """课程表""" name = models.CharField(verbose_name='课程名称', max_length=255) description = models.Tex
-
Java timezone设置和mybatis连接数据库时区设置方式
目录 Java timezone设置和mybatis连接数据库时区设置 JVM时区设置 Mybatis Mybatis timezone问题 解决方法 Java timezone设置和mybatis连接数据库时区设置 JVM时区设置 springboot工程运行时,需要指定时区,这样获取的时间才会和系统时间相同.以下介绍方法: 1.查看当前时区 centos7以前(不含centos7) cat /etc/sysconfig/clock centos7以后(包含centos7) timedatec
-
PHP中date与gmdate的区别及默认时区设置
一.date与gmdate有什么区别? PHP时间函数中有两个格式化函数:date()和gmdate(),在官方的文档中的描述为: 复制代码 代码如下: date() #- 格式化一个本地时间/日期gmdate() #- 格式化一个 GMT/UTC 日期/时间,返回的是格林威治标准时(GMT). 先来举个例子,我们现在所在的时区是+8,那么服务器运行以下脚本返回的时间应该是这样的:当前时间假定是2013-03-14 12:15:27 复制代码 代码如下: echo date('Y-m-d H
-
python脚本设置超时机制系统时间的方法
本文为大家介绍了python脚本设置系统时间的方法,一共有两种,其一是调用socket直接发送udp包到国家授时中心,其二是调用ntplib包.我在本地电脑ping 国家授时中心地址cn.pool.ntp.org有时出现丢包,然而,二者都没有检查udp是否丢包的机制,方法一在udp丢包后一直处于阻塞状态无法退出,方法二虽然会提示超时,但是不再做其它尝试,比如重新发包,或者向同一个域名的不同IP地址发包.于是,尝试在方法一的代码基础上,增加了超时机制,并且尝试向同一个域名的不同IP地址发包. 具体
-
python脚本设置系统时间的两种方法
本文为大家分享了两种python脚本设置系统时间的方法,供大家参考,具体内容如下 第一种方法,使用Python设置系统时间,即给系统校时 #电脑时间用了一段时间后,系统时间不准了,想更新一下 #在windows里面,更新系统时间,时常失败,而且速度很忙. #在网上拷贝的代码,发现很好用,比windows自带的实现要快. #-*- coding:utf-8 -*- import socket import struct import time import win32api TimeServer
-
Python Sqlite3以字典形式返回查询结果的实现方法
sqlite3本身并没有像pymysql一样原生提供字典形式的游标. cursor = conn.cursor(pymysql.cursors.DictCursor) 但官方文档里已经有预留了相应的实现方案. def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d 使用这个函数代替conn.raw_factory属性即可.
随机推荐
- Java 异常的知识整理
- 详解Centos7 下建立 Docker 桥接网络
- python利用装饰器进行运算的实例分析
- Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)
- Java 跳出递归循环问题解决办法
- IOS property属性详细介绍使用注意事项
- pl/sql连接远程oracle服务器的配置教程
- 初步探究Python程序的执行原理
- ASP.NET下对cookies的操作实现代码
- vc获取计算机名和ip地址的方法
- PHP 与 UTF-8 的最佳实践详细介绍
- ajax 数据库中随机读取5条数据动态在页面中刷新
- javascript一点特殊用法
- Lua教程(十四):字符串库详解
- 将Sql Server对象的当前拥有者更改成目标拥有者
- jquery isEmptyObject判断是否为空对象的函数
- js中Image对象以及对其预加载处理示例
- BBSXP漏洞再探究
- Java中HashMap和Hashtable及HashSet的区别
- 浅谈Java生命周期管理机制