Python时区时间日期处理

import time
from datetime import datetime,timezone, timedelta
import pytz # $ pip install pytz

from dateutil.parser import parse
# la = pytz.timezone("America/Los_Angeles")
# fmt = '%Y-%m-%d %H:%M:%S %Z%z'
# nowutc = datetime.now(timezone.utc)
# now = datetime.now(la)
# now2 = la.localize(datetime.now())
# now3 = datetime.now()

# print(nowutc.strftime(fmt))
# print(now.strftime(fmt))
# print(now2.strftime(fmt))
# print(now3.strftime(fmt))

####   得到时区日期  #####
# from pytz import timezone
# tz = timezone("Europe/Paris")
# print(tz._utc_transition_times)

##  得到时区全称
import datetime
import pytz
from babel import Locale
from babel.dates import get_timezone_name, get_timezone

tz = get_timezone('Europe/Berlin')
r=get_timezone_name(tz, locale=Locale.parse('en_US'))
print(r)

##是否夏令时
import pytz

from datetime import datetime

def is_dst(dt=None, timezone="UTC"):
    if dt is None:
        dt = datetime.utcnow()
    timezone = pytz.timezone(timezone)
    timezone_aware_date = timezone.localize(dt, is_dst=None)
    print(timezone_aware_date.tzinfo._dst)
    return timezone_aware_date.tzinfo._dst.seconds != 0
r = is_dst(datetime(2021, 10, 12), timezone="America/New_York")
print(r)

##另一个方法 

import re, random, pytz, math
from datetime import datetime
timezone = pytz.timezone('America/Los_Angeles')
timezone_aware_date = timezone.localize(datetime(2021, 11, 7, 0, 59))
dst_timedelta = timezone_aware_date.dst()
print(timezone_aware_date)
r = "True" if dst_timedelta else "False"
print(r)
#一句话判断当前时间是否夏令时
"True" if datetime.now(tz=pytz.timezone('America/Los_Angeles')).dst() else ""

from ephem import *
import math
wpf=Observer()
wpf.lat='40.7142700'#纬度
wpf.lon='-74.0059700'#经度
wpf.elevation=12#海拔
wpf.pressure=0
body={-2:"恒星",-1:"太阳",0:"月亮",1:"水星",2:"金星",4:"火星",5:"木星",6:"土星",7:"天王星",8:"海王星"}
#构造一个天体,短时间一般坐标不变,视需求修改天体的坐标(单位弧度)
ra=10.0*math.pi/180
dec=-1.84*math.pi/180
s=FixedBody()
s._ra=ra
s._dec=dec
s._epoch=wpf.date#这个要和上面给的赤经赤纬的历元一致
#obs:观测者,n:天体编号,dec:天体的赤纬,t:观测时间,num:计算的次数
def pos_time(obs,n,t,num,hoffset=8):
    obs.horizon='0.0'
    if n==0:
        p=Moon()#月球
        obs.horizon='-0:34'#原因同太阳
    elif n==1:
        p=Mercury()#水星
    elif n==2:
        p=Venus()#金星
    elif n==4:
        p=Mars()#火星
    elif n==5:
        p=Jupiter()#木星
    elif n==6:
        p=Saturn()#土星
    elif n==7:
        p=Uranus()#天王星
    elif n==8:
        p=Neptune()#海王星
    elif n==-1:
        p=Sun()#太阳
        obs.horizon='-0:34'#对于太阳,由于大气折射和太阳的视半径,高度角修改为34角秒时升起或者落下,此值视地区而异
    else:
        p=s
    if n in [-1,0,1,2,4,5,6,7,8]:#太阳、月亮和行星
        p.compute(t)#ephem库已存在的天体需要先compute才能输出dec
        dec=p.dec
    else:
        dec=p._dec#构造的天体没有.dec属性
    obs.date=t
    if abs(obs.lat)+abs(dec)>math.pi/2:#天体处于观测者的恒显圈或者恒隐圈
        if abs(obs.lat+dec)<math.pi/2:
            print("{0}处于观测者的恒隐圈内,所以永远不会升起".format(body[n]))
            return
        else:
            print("{0}处于观测者的恒显圈内,所以永远不会落下".format(body[n]))
            for i in range(num):
                obs.date=obs.next_transit(p)
                d=(Date(obs.date+hoffset/24)).tuple()
                p.compute(obs)
                print("{0}/{1:02d}/{2:02d}的{7}中天时间:{3:02d}:{4:02d}:{5:05.2f},高度角:{6:05.2f}".format(d[0],d[1],d[2],d[3],d[4],d[5],p.alt*180/math.pi,body[n]))
    else:
        for i in range(num):
            obs.date=obs.next_rising(p)
            d=(Date(obs.date+hoffset/24)).tuple()
            print("****")
            p.compute(obs)#计算方位角和高度角
            print("{0}/{1:02d}/{2:02d}的{7}升起时间:{3:02d}:{4:02d}:{5:05.2f},方位角:{6:09.6f}".format(d[0],d[1],d[2],d[3],d[4],d[5],p.az*180/math.pi,body[n]))
            obs.date=obs.next_transit(p)
            d=(Date(obs.date+hoffset/24)).tuple()
            p.compute(obs)
            print("{0}/{1:02d}/{2:02d}的{7}中天时间:{3:02d}:{4:02d}:{5:05.2f},高度角:{6:05.2f}".format(d[0],d[1],d[2],d[3],d[4],d[5],p.alt*180/math.pi,body[n]))
            obs.date=obs.next_setting(p)
            d=(Date(obs.date+hoffset/24)).tuple()
            p.compute(obs)
            print("{0}/{1:02d}/{2:02d}的{7}落下时间:{3:02d}:{4:02d}:{5:05.2f},方位角:{6:09.6f}".format(d[0],d[1],d[2],d[3],d[4],d[5],p.az*180/math.pi,body[n]))
            print("地上时长:{0}分钟".format((wpf.next_setting(p)-wpf.next_rising(p))*24*60))

# t=Date('2020/04/11 13:37:30')#日期时间
t = now()-1
import datetime
import pytz

hoursoffset = datetime.datetime.now(pytz.timezone('America/New_York'))
hoffset = hoursoffset.utcoffset().total_seconds()/60/60
for i in [-1,0,1,2,4,5,6,7,8,-2]:#要计算的天体
    pos_time(wpf,i,t,2,hoffset)#求连续2天的升起中天落下时间
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容