将WRF UTC时间转换为当地时间

问题描述

我必须从一堆WRFout文件中绘制空间图。目前,我正在使用以下代码行来打印每个空间图的相应时间

#..Load packages
import os
import netCDF4
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap,addcyclic,cm,shiftgrid
from wrf import getvar,get_basemap,to_np,latlon_coords

#..Read the files
fpath = sorted(glob.glob("/path/wrfout_d01_2017-03-02_00:00:00"))
with netCDF4.Dataset(fpath,'r') as fin:

#..Read variables
p  = getvar(fin,'pressure')
times = getvar(fin,'times',meta=False)

#..Make the pressure plot
fig = plt.figure()
mp = get_basemap(p)
x,y = mp(to_np(lons),to_np(lats))
cntrs = mp.contourf(x,y,p,cmap='jet')
plt.title(str(to_np(times))[0:-10])
plt.show()

times变量以2017-03-02T00:00:00.000000000格式给出时间。

代码行plt.title(str(to_np(times))[0:-10])将时间打印为2017-03-02T00:00:00,这是UTC时间。但是,我希望将其打印为2017-03-01 17:00:00,即当地时间(UTC- 7 hours)

在此先感谢您的任何建议。

解决方法

您可以使用熊猫进行转换。可以选择适合您的时区。 刚刚添加了有用的代码段。

import pandas as pd

#..Read variables
...
times = getvar(fin,'times',meta=False)
mountainTime = pd.Timestamp(times,tz='US/Mountain')

#..Make the pressure plot
...
plt.title(str(mountainTime)[0:-6])
,

这可能有帮助。

Loader

输出:

def generator_predict(data_gen):
    for data in data_gen:
        yield tensorflow.keras.model.predict(data)

现在我的时区是UTC + 5:30(印度)。因此,表明这一点。你应该给你的。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...