[Python学习日记-48] Python 中的时间处理模块—— time 与 datetime

[Python学习日记-48] Python 中的时间处理模块

简介

Python 中表示时间的几种方式

UTC 时间

time 模块

datetime 模块

简介

        在平常的代码中,我们常常需要与时间打交道。在 Python 中,与时间处理有关的模块就包括:time、datetime、calendar(基本不用,忽略),下面分别来介绍。

        在写程序时对时间的处理可以归为以下3种:

  • 时间的显示:在屏幕显示、记录日志等
  • 时间的转换:例如把字符串格式的日期转成 Python 中的日期类型
  • 时间的运算:计算两个日期间的差值等

Python 中表示时间的几种方式

1、时间戳(timestamp),表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。例如,1728974668.993554,就是一个时间戳,表示从1970年1月1日00:00:00开始到2024年10月15日14:15:08所经过的秒数。

        为什么是从1970年1月1日00:00:00开始计算呢?这是因为人类第一台搭载 Unix 系统的小型机诞生时间就是1970年,Unix 系统是和硬件一起捆绑售卖的,所以是比较昂贵的,一台 Unix 服务器大概需要十几万一台,像 IBM 就有 AIX Unix,惠普就有 SuperDome2,而 Oracle 通过收购濒临破产的 Sun 公司获得了 Soloris。到了90年代,出现了开源版的 Unix,即大名鼎鼎的 Linux 系统,同时 Windows 系统也差不多在这个时间开始问世,而 Windows 是与 Unix 和 Linux 完全不同架构的一个视窗操作系统。直至今日我们所熟知的 macOS 就是基于 Unix 内核来开发的,所以这就是为什么苹果电脑会如此稳定且昂贵了。

2、格式化的时间字符串,例如 "2020-10-03 17:54"

3、元组(struct_time)共九个元素。由于 Python 的 time 模块实现主要调用 C 库,所以各个平台可能有所不同,Windows 上为:

time.struct_time(tm_year=2024, tm_mon=10, tm_mday=15, tm_hour=15, tm_min=1, tm_sec=51, tm_wday=1, tm_yday=289, tm_isdst=0)

元组(struct_time)中的参数如下: 

索引(Index)属性(Attribute)值(Values)
0tm_year(年)例如2011
1tm_mon(月)1 - 12
2tm_mday(日)1 - 31
3tm_hour(时)0 - 23
4tm_min(分)0 - 59
5tm_sec(秒)0 - 60
6tm_wday(weekday)0 - 6(0表示周日)
7tm_yday(一年中的第几天)1 - 366
8tm_isdst(是否是夏令时)默认为-1

UTC 时间

        UTC(Coordinated Universal Time,世界协调时)即格林威治天文时间,世界标准时间。在中国为 UTC+8,又称东8区。DST(Daylight Saving Time)即夏令时。

time 模块

一、localtime()

        将一个时间戳转换为当前时区的 struct_time,语法如下

time.localtime(secs)

        若 secs 参数未提供,则以当前时间为准。演示代码如下

import time

local_time = time.localtime()
print(local_time)

代码输出如下:

注意:time.localtime() 函数返回的时间是当前系统的本地时间,如果你想获取其他时区的时间,可以使用 pytz 库或者 datetime 模块进行处理。

二、gmtime()

        和 localtime() 方法类似,gmtime() 方法是将一个时间戳转换为 UTC 时区(0时区)的 struct_time,语法如下

time.gmtime(secs)

演示代码如下

import time

utc_time = time.gmtime()
print(utc_time)

代码输出如下:

三、time()

         返回当前时间的时间戳,即从纪元(Epoch)开始至今的秒数,语法如下

time.time()

演示代码如下

import time

timestamp = time.time()
print(timestamp)

代码输出如下:

        如果你想将时间戳转换为具体的日期和时间,可以使用 time.localtime() 或者 time.gmtime() 函数,代码如下

import time

local_time = time.localtime(time.time())
print(local_time)

代码输出如下:

注意:time.time() 函数返回的是系统时钟的时间,具体精度可以根据操作系统的能力而有所不同。在一些系统中,时间戳的精度可以达到毫秒级别

四、mktime()

        将一个元组(struct_time)转化为时间戳,语法如下

time.mktime(struct_time)

演示代码如下

import time

local_time = (2022, 10, 1, 9, 30, 0, 0, 0, 0)  # 2022年10月1日 9时30分0秒
timestamp = time.mktime(local_time)
print(timestamp)

代码输出如下:

        time.mktime() 函数使用本地时区的信息,将指定的时间转换为时间戳。它假设输入的时间是本地时间,并且使用本地时区的规则来进行转换。如果输入的时间是 UTC 时间,使用 time.mktime() 函数可能会得到错误的结果。在这种情况下,应该使用 timegm() 函数(来自 calendar 模块)将 UTC 时间转换为时间戳。

        需要注意的是,time.mktime() 函数的输入是一个包含了年、月、日、时、分、秒、星期几、年内的第几天、是否为夏令时等信息的 元组(struct_time)对象。如果只有年、月、日、时、分、秒这六个参数,可以使用 datetime 模块中的 datetime.timetuple() 方法来获得 time.struct_time 对象,然后再使用 time.mktime() 进行转换,代码如下

import time
import datetime

dt = datetime(2022, 10, 1, 9, 30, 0)
local_time = dt.timetuple()
timestamp = time.mktime(local_time)
print(timestamp)

代码输出如下:

五、sleep()

        线程将推迟指定的时间运行,以秒为单位,语法如下

time.sleep(secs)

演示代码如下

import time

print("开始执行")
time.sleep(3)  # 暂停3秒
print("暂停3秒后继续执行")

代码输出如下:

        在使用 time.sleep() 函数时,需要注意以下几点:

  1. time.sleep() 函数会阻塞程序的执行,暂停指定的时间。
  2. time.sleep() 函数接受的参数可以是一个小数,例如0.5表示暂停500毫秒。如果需要更精确的暂停时间,可以使用 time.perf_counter() 函数来计算时间间隔。当程序暂停时,可以通过键盘中断(按下 Ctrl+C)来提前终止暂停,继续执行后续的代码。
  3. time.sleep() 函数是线程安全的,不仅会让当前线程暂停执行,也会让其他线程暂停执行。在某些情况下,time.sleep() 函数的实际暂停时间可能比指定的时间稍长,这是由于系统调度和其他因素导致的。

六、asctime()

        把一个表示时间的元组(struct_time)表示为这种形式:"Sun Oct 1 12:04:38 2019"。如果没有参数,将会将 time.localtime() 作为参数传入,语法如下

time.asctime(t)

演示代码如下

import time

# 获取当前时间
current_time = time.localtime()

# 将当前时间转换为可读的字符串表示形式
readable_time = time.asctime(current_time)

print(readable_time)

代码输出如下:

七、ctime()

        把一个时间戳(按秒计算的浮点数)转化为 time.asctime() 的形式。如果参数未给或者为 None 的时候,将会默认 time.time() 为参数。它的作用相当 time.asctime(time.localtime(secs)),语法如下

time.asctime(secs)

演示代码如下

import time

timestamp = time.time()  # 获取当前时间的时间戳
print(time.ctime(timestamp))  # 将时间戳转换为字符串表示形式

代码输出如下:

八、strftime()

        把一个代表时间的元组(struct_time)(如由 time.localtime() 和 time.gmtime() 返回)转化为格式化的时间字符串,语法如下

time.strftime(format,t)

        如果参数 t 未指定,将传入 time.localtime() 作为参数, 演示代码如下

import time

# 获取当前时间
current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("当前时间:", current_time)

# 将时间元组转换为时间字符串
time_tuple = (2021, 5, 1, 10, 30, 0, 0, 0, 0)
time_string = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print("时间字符串:", time_string)

代码输出如下:

九、strptime()

        把一个格式化时间字符串转化为元组(struct_time)。实际上它和 strftime() 是逆操作,语法如下

time.strptime(string,format)

演示代码如下

import time

date_string = "2021-12-31 23:59:59"
date_format = "%Y-%m-%d %H:%M:%S"

parsed_date = time.strptime(date_string, date_format)
print(parsed_date)

代码输出如下:

十、字符串转时间格式对应表

格式符号描述
%a缩写形式的星期几(例如:Sun)
%A完整形式的星期几(例如:Sunday)
%b缩写形式的月份(例如:Jan)
%B完整形式的月份(例如:January)
%c日期和时间的字符串表示(例如:Fri Jan 1 09:30:00 2022)
%d两位数日期(01-31)
%H两位数的小时(00-23)
%I两位数的小时(01-12)
%j一年中的第几天(001-366)
%m两位数月份(01-12)
%M两位数的分钟(00-59)
%pAM或PM(例如:AM)
%S两位数的秒数(00-59)
%U一年中的第几周(00-53,星期天作为一周的开始)
%w星期的数字形式(0-6,0代表星期天)
%W一年中的第几周(00-53,星期一作为一周的开始)
%x日期的字符串表示(例如:01/01/2022)
%X时间的字符串表示(例如:09:30:00)
%y两位数年份(例如:22)
%Y四位数年份(例如:2022)
%z对应的是时区偏移量,格式为 ±HHMM 或者 ±HH:MM(例如:+0800 表示东八区,-0400 表示西四区)
%%对应的是一个'%'字符

十一、 转换关系图

datetime 模块

        相比于 time 模块,datetime 模块的接口则更直观,更容易调用。

一、datetime 模块下定义的几个类

  • datetime.date:表示日期的类。常用的属性有 year、month、day
  • datetime.time:表示时间的类。常用的属性有 hour、minute、second、microsecond
  • datetime.datetime:表示日期时间。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。

二、常用方法

1、datetime.now()

        返回当前的 datetime 日期类型,语法如下

datetime.datetime.now()

演示代码如下

import datetime

d = datetime.datetime.now()
# d.timestamp(),d.today(),d.year,d.timetuple()等方法可以调用

print(d.timestamp())
print(d.today())
print(d.year)
print(d.timetuple())

代码输出如下:

2、 date.fromtimestamp()

        把一个时间戳转为 datetime 日期类型,语法如下

datetime.date.fromtimestamp(timestamp)

演示代码如下

import datetime

print(datetime.date.fromtimestamp(1728996992.9763837))

代码输出如下:

3、timedelta()——时间运算

        用于表示时间间隔的类。它可以表示一段时间,如天、小时、分钟、秒等,并可以进行加减运算,语法如下

datetime.timedelta(days,seconds,microseconds,milliseconds,minutes,hours,weeks)

演示代码如下

import datetime

n = datetime.datetime.now()
dt = datetime.timedelta(4,1,2,3,4,5,1)

print("now:",n,"\ndelta_time:",dt)
print("new_time:",n+dt)
print("total_seconds:",dt.total_seconds())

代码输出如下: 

4、replace()——时间替换

        用于创建一个新的 datetime 对象,该对象与原对象具有相同的值,但某些字段被替换为新的值,语法如下

datetime.replace(year,month,day,hour,minute,second,microsecond,tzinfo)

 演示代码如下

import datetime

n = datetime.datetime.now()

print("now_time:",n)
print("replace_time:",n.replace(year=2025,month=10,day=1))

代码输出如下:

三、时区

        在Python中,datetime 模块中的 tzinfo 是一个抽象基类,用于表示时区信息。它定义了以下几个方法:

  • utcoffset(dt):返回时区相对于 UTC 的偏移量,以分钟为单位。如果时区为固定偏移量,则返回一个固定值;如果是动态的偏移量(例如夏时制),则根据给定的 datetime 对象返回相应的偏移量
  • dst(dt):返回当前时区在给定 datetime 对象的时间点上是否处于夏时制。如果没有夏时制,则返回 None。
  • tzname(dt):返回时区的名称,通常是一个字符串。例如,对于美国东部时区,名称是"EST"或"EDT"。
  • fromutc(dt):将给定的 datetime 对象从 UTC 转换到当前时区,并返回转换后的 datetime 对象。

为了使用 tzinfo,必须实现一个具体的子类,以提供有关特定时区的信息,演示代码如下

import datetime

# 自定义时区
class MyTimeZone(datetime.tzinfo):
    def utcoffset(self, d):
        # 返回时区相对于UTC的偏移量
        return datetime.timedelta(hours=8)

    def dst(self, d):
        # 返回夏时制信息
        return datetime.timedelta(hours=1)

    def tzname(self, d):
        # 返回时区名称
        return "My Time Zone"

# 创建一个datetime对象并指定时区
dt = datetime.datetime.now(tz=MyTimeZone())

# 打印时区信息
print(dt.tzinfo)        # 时区信息
print(dt.tzname())      # 时区的名称
print(dt.utcoffset())   # 相对于 UTC 的偏移量
print(dt.dst())         # 是否处于夏时制

代码输出如下:

        上面的代码中,我们创建了一个名为"MyTimeZone"的具体时区对象,并将其传递给 datetime.datetime.now() 方法,以创建一个具有特定时区的 datetime 对象。然后,我们可以使用 tzinfo 对象的方法来获取关于时区的信息。

        由于我们还没有学习面向对象,所以看到这个会有一定难度,其实已经有人早就定义好各个时区的模块,那就是 pytz 模块(非内置,需安装),可以用来创建一个具体的时区对象,在制作国际程序时非常有用,演示代码如下

import datetime
import pytz

print("Asia_Shanghai:",datetime.datetime.now(tz=pytz.timezone('Asia/Shanghai')))
print("America_Chicago:",datetime.datetime.now(tz=pytz.timezone('America/Chicago')))
print(pytz.all_timezones)

代码输出如下:

pytz 模块的所有时区: 

['Africa/Abidjan', 'Africa/Accra', 'Africa/Addis_Ababa', 'Africa/Algiers', 'Africa/Asmara', 'Africa/Asmera', 'Africa/Bamako', 'Africa/Bangui', 'Africa/Banjul', 'Africa/Bissau', 'Africa/Blantyre', 'Africa/Brazzaville', 'Africa/Bujumbura', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Ceuta', 'Africa/Conakry', 'Africa/Dakar', 'Africa/Dar_es_Salaam', 'Africa/Djibouti', 'Africa/Douala', 'Africa/El_Aaiun', 'Africa/Freetown', 'Africa/Gaborone', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Juba', 'Africa/Kampala', 'Africa/Khartoum', 'Africa/Kigali', 'Africa/Kinshasa', 'Africa/Lagos', 'Africa/Libreville', 'Africa/Lome', 'Africa/Luanda', 'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Malabo', 'Africa/Maputo', 'Africa/Maseru', 'Africa/Mbabane', 'Africa/Mogadishu', 'Africa/Monrovia', 'Africa/Nairobi', 'Africa/Ndjamena', 'Africa/Niamey', 'Africa/Nouakchott', 'Africa/Ouagadougou', 'Africa/Porto-Novo', 'Africa/Sao_Tome', 'Africa/Timbuktu', 'Africa/Tripoli', 'Africa/Tunis', 'Africa/Windhoek', 'America/Adak', 'America/Anchorage', 'America/Anguilla', 'America/Antigua', 'America/Araguaina', 'America/Argentina/Buenos_Aires', 'America/Argentina/Catamarca', 'America/Argentina/ComodRivadavia', 'America/Argentina/Cordoba', 'America/Argentina/Jujuy', 'America/Argentina/La_Rioja', 'America/Argentina/Mendoza', 'America/Argentina/Rio_Gallegos', 'America/Argentina/Salta', 'America/Argentina/San_Juan', 'America/Argentina/San_Luis', 'America/Argentina/Tucuman', 'America/Argentina/Ushuaia', 'America/Aruba', 'America/Asuncion', 'America/Atikokan', 'America/Atka', 'America/Bahia', 'America/Bahia_Banderas', 'America/Barbados', 'America/Belem', 'America/Belize', 'America/Blanc-Sablon', 'America/Boa_Vista', 'America/Bogota', 'America/Boise', 'America/Buenos_Aires', 'America/Cambridge_Bay', 'America/Campo_Grande', 'America/Cancun', 'America/Caracas', 'America/Catamarca', 'America/Cayenne', 'America/Cayman', 'America/Chicago', 'America/Chihuahua', 'America/Ciudad_Juarez', 'America/Coral_Harbour', 'America/Cordoba', 'America/Costa_Rica', 'America/Creston', 'America/Cuiaba', 'America/Curacao', 'America/Danmarkshavn', 'America/Dawson', 'America/Dawson_Creek', 'America/Denver', 'America/Detroit', 'America/Dominica', 'America/Edmonton', 'America/Eirunepe', 'America/El_Salvador', 'America/Ensenada', 'America/Fort_Nelson', 'America/Fort_Wayne', 'America/Fortaleza', 'America/Glace_Bay', 'America/Godthab', 'America/Goose_Bay', 'America/Grand_Turk', 'America/Grenada', 'America/Guadeloupe', 'America/Guatemala', 'America/Guayaquil', 'America/Guyana', 'America/Halifax', 'America/Havana', 'America/Hermosillo', 'America/Indiana/Indianapolis', 'America/Indiana/Knox', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Tell_City', 'America/Indiana/Vevay', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indianapolis', 'America/Inuvik', 'America/Iqaluit', 'America/Jamaica', 'America/Jujuy', 'America/Juneau', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Knox_IN', 'America/Kralendijk', 'America/La_Paz', 'America/Lima', 'America/Los_Angeles', 'America/Louisville', 'America/Lower_Princes', 'America/Maceio', 'America/Managua', 'America/Manaus', 'America/Marigot', 'America/Martinique', 'America/Matamoros', 'America/Mazatlan', 'America/Mendoza', 'America/Menominee', 'America/Merida', 'America/Metlakatla', 'America/Mexico_City', 'America/Miquelon', 'America/Moncton', 'America/Monterrey', 'America/Montevideo', 'America/Montreal', 'America/Montserrat', 'America/Nassau', 'America/New_York', 'America/Nipigon', 'America/Nome', 'America/Noronha', 'America/North_Dakota/Beulah', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/Nuuk', 'America/Ojinaga', 'America/Panama', 'America/Pangnirtung', 'America/Paramaribo', 'America/Phoenix', 'America/Port-au-Prince', 'America/Port_of_Spain', 'America/Porto_Acre', 'America/Porto_Velho', 'America/Puerto_Rico', 'America/Punta_Arenas', 'America/Rainy_River', 'America/Rankin_Inlet', 'America/Recife', 'America/Regina', 'America/Resolute', 'America/Rio_Branco', 'America/Rosario', 'America/Santa_Isabel', 'America/Santarem', 'America/Santiago', 'America/Santo_Domingo', 'America/Sao_Paulo', 'America/Scoresbysund', 'America/Shiprock', 'America/Sitka', 'America/St_Barthelemy', 'America/St_Johns', 'America/St_Kitts', 'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent', 'America/Swift_Current', 'America/Tegucigalpa', 'America/Thule', 'America/Thunder_Bay', 'America/Tijuana', 'America/Toronto', 'America/Tortola', 'America/Vancouver', 'America/Virgin', 'America/Whitehorse', 'America/Winnipeg', 'America/Yakutat', 'America/Yellowknife', 'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville', 'Antarctica/Macquarie', 'Antarctica/Mawson', 'Antarctica/McMurdo', 'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/South_Pole', 'Antarctica/Syowa', 'Antarctica/Troll', 'Antarctica/Vostok', 'Arctic/Longyearbyen', 'Asia/Aden', 'Asia/Almaty', 'Asia/Amman', 'Asia/Anadyr', 'Asia/Aqtau', 'Asia/Aqtobe', 'Asia/Ashgabat', 'Asia/Ashkhabad', 'Asia/Atyrau', 'Asia/Baghdad', 'Asia/Bahrain', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Barnaul', 'Asia/Beirut', 'Asia/Bishkek', 'Asia/Brunei', 'Asia/Calcutta', 'Asia/Chita', 'Asia/Choibalsan', 'Asia/Chongqing', 'Asia/Chungking', 'Asia/Colombo', 'Asia/Dacca', 'Asia/Damascus', 'Asia/Dhaka', 'Asia/Dili', 'Asia/Dubai', 'Asia/Dushanbe', 'Asia/Famagusta', 'Asia/Gaza', 'Asia/Harbin', 'Asia/Hebron', 'Asia/Ho_Chi_Minh', 'Asia/Hong_Kong', 'Asia/Hovd', 'Asia/Irkutsk', 'Asia/Istanbul', 'Asia/Jakarta', 'Asia/Jayapura', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Kashgar', 'Asia/Kathmandu', 'Asia/Katmandu', 'Asia/Khandyga', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Kuwait', 'Asia/Macao', 'Asia/Macau', 'Asia/Magadan', 'Asia/Makassar', 'Asia/Manila', 'Asia/Muscat', 'Asia/Nicosia', 'Asia/Novokuznetsk', 'Asia/Novosibirsk', 'Asia/Omsk', 'Asia/Oral', 'Asia/Phnom_Penh', 'Asia/Pontianak', 'Asia/Pyongyang', 'Asia/Qatar', 'Asia/Qostanay', 'Asia/Qyzylorda', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Saigon', 'Asia/Sakhalin', 'Asia/Samarkand', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tel_Aviv', 'Asia/Thimbu', 'Asia/Thimphu', 'Asia/Tokyo', 'Asia/Tomsk', 'Asia/Ujung_Pandang', 'Asia/Ulaanbaatar', 'Asia/Ulan_Bator', 'Asia/Urumqi', 'Asia/Ust-Nera', 'Asia/Vientiane', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yangon', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Bermuda', 'Atlantic/Canary', 'Atlantic/Cape_Verde', 'Atlantic/Faeroe', 'Atlantic/Faroe', 'Atlantic/Jan_Mayen', 'Atlantic/Madeira', 'Atlantic/Reykjavik', 'Atlantic/South_Georgia', 'Atlantic/St_Helena', 'Atlantic/Stanley', 'Australia/ACT', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Broken_Hill', 'Australia/Canberra', 'Australia/Currie', 'Australia/Darwin', 'Australia/Eucla', 'Australia/Hobart', 'Australia/LHI', 'Australia/Lindeman', 'Australia/Lord_Howe', 'Australia/Melbourne', 'Australia/NSW', 'Australia/North', 'Australia/Perth', 'Australia/Queensland', 'Australia/South', 'Australia/Sydney', 'Australia/Tasmania', 'Australia/Victoria', 'Australia/West', 'Australia/Yancowinna', 'Brazil/Acre', 'Brazil/DeNoronha', 'Brazil/East', 'Brazil/West', 'CET', 'CST6CDT', 'Canada/Atlantic', 'Canada/Central', 'Canada/Eastern', 'Canada/Mountain', 'Canada/Newfoundland', 'Canada/Pacific', 'Canada/Saskatchewan', 'Canada/Yukon', 'Chile/Continental', 'Chile/EasterIsland', 'Cuba', 'EET', 'EST', 'EST5EDT', 'Egypt', 'Eire', 'Etc/GMT', 'Etc/GMT+0', 'Etc/GMT+1', 'Etc/GMT+10', 'Etc/GMT+11', 'Etc/GMT+12', 'Etc/GMT+2', 'Etc/GMT+3', 'Etc/GMT+4', 'Etc/GMT+5', 'Etc/GMT+6', 'Etc/GMT+7', 'Etc/GMT+8', 'Etc/GMT+9', 'Etc/GMT-0', 'Etc/GMT-1', 'Etc/GMT-10', 'Etc/GMT-11', 'Etc/GMT-12', 'Etc/GMT-13', 'Etc/GMT-14', 'Etc/GMT-2', 'Etc/GMT-3', 'Etc/GMT-4', 'Etc/GMT-5', 'Etc/GMT-6', 'Etc/GMT-7', 'Etc/GMT-8', 'Etc/GMT-9', 'Etc/GMT0', 'Etc/Greenwich', 'Etc/UCT', 'Etc/UTC', 'Etc/Universal', 'Etc/Zulu', 'Europe/Amsterdam', 'Europe/Andorra', 'Europe/Astrakhan', 'Europe/Athens', 'Europe/Belfast', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Busingen', 'Europe/Chisinau', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Gibraltar', 'Europe/Guernsey', 'Europe/Helsinki', 'Europe/Isle_of_Man', 'Europe/Istanbul', 'Europe/Jersey', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Kirov', 'Europe/Kyiv', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta', 'Europe/Mariehamn', 'Europe/Minsk', 'Europe/Monaco', 'Europe/Moscow', 'Europe/Nicosia', 'Europe/Oslo', 'Europe/Paris', 'Europe/Podgorica', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/San_Marino', 'Europe/Sarajevo', 'Europe/Saratov', 'Europe/Simferopol', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Tirane', 'Europe/Tiraspol', 'Europe/Ulyanovsk', 'Europe/Uzhgorod', 'Europe/Vaduz', 'Europe/Vatican', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zaporozhye', 'Europe/Zurich', 'GB', 'GB-Eire', 'GMT', 'GMT+0', 'GMT-0', 'GMT0', 'Greenwich', 'HST', 'Hongkong', 'Iceland', 'Indian/Antananarivo', 'Indian/Chagos', 'Indian/Christmas', 'Indian/Cocos', 'Indian/Comoro', 'Indian/Kerguelen', 'Indian/Mahe', 'Indian/Maldives', 'Indian/Mauritius', 'Indian/Mayotte', 'Indian/Reunion', 'Iran', 'Israel', 'Jamaica', 'Japan', 'Kwajalein', 'Libya', 'MET', 'MST', 'MST7MDT', 'Mexico/BajaNorte', 'Mexico/BajaSur', 'Mexico/General', 'NZ', 'NZ-CHAT', 'Navajo', 'PRC', 'PST8PDT', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Bougainville', 'Pacific/Chatham', 'Pacific/Chuuk', 'Pacific/Easter', 'Pacific/Efate', 'Pacific/Enderbury', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Funafuti', 'Pacific/Galapagos', 'Pacific/Gambier', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Johnston', 'Pacific/Kanton', 'Pacific/Kiritimati', 'Pacific/Kosrae', 'Pacific/Kwajalein', 'Pacific/Majuro', 'Pacific/Marquesas', 'Pacific/Midway', 'Pacific/Nauru', 'Pacific/Niue', 'Pacific/Norfolk', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Palau', 'Pacific/Pitcairn', 'Pacific/Pohnpei', 'Pacific/Ponape', 'Pacific/Port_Moresby', 'Pacific/Rarotonga', 'Pacific/Saipan', 'Pacific/Samoa', 'Pacific/Tahiti', 'Pacific/Tarawa', 'Pacific/Tongatapu', 'Pacific/Truk', 'Pacific/Wake', 'Pacific/Wallis', 'Pacific/Yap', 'Poland', 'Portugal', 'ROC', 'ROK', 'Singapore', 'Turkey', 'UCT', 'US/Alaska', 'US/Aleutian', 'US/Arizona', 'US/Central', 'US/East-Indiana', 'US/Eastern', 'US/Hawaii', 'US/Indiana-Starke', 'US/Michigan', 'US/Mountain', 'US/Pacific', 'US/Samoa', 'UTC', 'Universal', 'W-SU', 'WET', 'Zulu']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/891722.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3学习之插槽slot

关于slot web组件内部的占位符,可以使用自己的标记填充这个占位符 ,具名插槽就是在slot标签上添加name属性(https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/slot) vue3官方文档:https://cn.vuejs.org/gui…

回归本真 治愈心灵——汪青《在西行的路上》

回归本真 治愈心灵——汪青《在西行的路上》 知天地、忧生存、明自我。汪青的作品《在西行的路上》主体书写的是描述自己的西北之行。本书在创作之初,作者本人用文字表现不一样的风景,传递出更多美好的瞬间。作者将应用崭新的知识混合脚步踏出的历程&am…

控制层接受用户输入-系统架构师(八十一)

1在MVC设计模式中,以下说法正确的是()。 A 控制器表示业务逻辑 B 视图接受用户输入 C 模型表示业务数据 D 一个模型只能为一个视图提供数据 解析: 控制器接受用户输入。 所以C对 2下列()设置可以隔离…

jmeter使用csv数据

背景 使用jmeter对系统进行压测。测试数据存储在了csv中,多线程压测的时候,csv中的一条数据不能多个线程同时使用,数据全部使用过后,需要终止压测。 功能点 从csv读取数据后,完成接口数据拼接。多线程依次从csv文件…

大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

集师知识付费小程序:打造培训机构在线教育的金字招牌 集师知识付费系统 集师知识付费小程序 集师知识服务系统 集师线上培训系统 集师线上卖课小程序

在数字化浪潮的推动下,在线教育已成为教育领域的热门话题。而在众多在线教育平台中,集师知识付费小程序凭借其独特的定位和创新的模式,成功为培训机构打造了一张闪亮的在线教育金字招牌。 集师知识付费小程序,是一个集课程展示、…

如何在Chrome、Edge、360、Firefox等浏览器查看网站SSL证书信息?

在如今的网络环境中,保障网络安全、数据安全尤其重要,市面上大部分网站都部署了SSL证书以实现HTTPS加密保护数据传输安全以及验证网站身份,确保网站安全可信。那么如何查看网站的SSL证书信息?接下来,我们将详细介绍如何…

基于STM32的自学习走迷宫智能小车设计

引言 本项目设计了一个基于STM32的自学习走迷宫智能小车。小车通过多个超声波传感器、红外传感器等,检测周围障碍物和路径。它采用简单的强化学习算法,在不断探索的过程中自我调整路径,从而最终找到迷宫的出口。系统适用于智能机器人实验、教…

数据质量差的代价是什么?

如今,许多数字企业都认为自己是数据驱动的。通过各种软件解决方案,数据无处不在,收集起来也非常方便,这使得企业能够被动地收集大量数据,并将其应用于决策制定。 然而,人们往往很容易在不考虑数据质量的情…

Light灯光组件+组件的相关操作+游戏资源的加载

Light灯光组件 Type: Directional:平行光,模仿的是太阳光 Spot:聚光灯 Area:区域光 Color: 颜色值 Mode: RealTime:实时 Mix:混合 Baked:烘焙 Intersity: 光照强度 Indirect Multiplier:光照强度乘数 Shadow Type:影子设置:…

云栖实录 | Hologres3.0全新升级:一体化实时湖仓平台

本文根据2024云栖大会实录整理而成,演讲信息如下: 演讲人: 姜伟华 | 阿里云智能集团资深技术专家、Hologres 负责人 丁 烨 | 阿里云智能集团产品专家、Hologres 产品负责人 活动: 2024 云栖大会 - 商用大数据计算与分析平台论…

OpenCV-人脸检测

文章目录 一、人脸检测流程二、关键方法三、代码示例四、注意事项 OpenCV是一个开源的计算机视觉和机器学习软件库,它提供了多种人脸检测方法,以下是对OpenCV人脸检测的详细介绍: 一、人脸检测流程 人脸检测是识别图像中人脸位置的过程&…

git--git reset

HEAD 单独一个HEAD eg:git diff HEAD 表示当前结点。 HEAD~ HEAD~只处理当前分支。 注意:master分支的上一个结点是tmp分支的所在的结点fc11b74, 79f109e才是master的第二个父节点。 HEAD~ 当前结点的父节点。 HEAD~1 当前结点的父节点。 HEAD~n 当前结点索…

kali linux 允许 root 用户登录 安装过程中不能创建 root 根用户密码 之后不能以根用户直接登录 即使是正确的管理员密码也无法登录

打开终端。 输入命令 sudo passwd root 并按回车键。 系统会提示您输入新的 UNIX 密码,输入您想要设置的密码并按回车键。 再次输入相同的密码进行确认。 如果密码设置成功,会显示 “passwd: password updated successfully”。 在登录界面&#xf…

模态与非模态的对话框

本文学习自&#xff1a; 《Qt Creato快速入门》 #include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }1. #include "widget.h" #include "ui_w…

Linux:进程控制(三)——进程程序替换

目录 一、概念 二、使用 1.单进程程序替换 2.多进程程序替换 3.exec接口 4.execle 一、概念 背景 当前进程在运行的时候&#xff0c;所执行的代码来自于自己的源文件。使用fork创建子进程后&#xff0c;子进程执行的程序中代码内容和父进程是相同的&#xff0c;如果子进…

算法: 位运算题目练习

文章目录 位运算判定字符是否唯一丢失的数字两整数之和只出现一次的数字 II消失的两个数字常见位运算总结 位运算 判定字符是否唯一 有很多解法,比如hash表,或者给字符串排个序,然后遍历… 写这道题时没注意到如果出现奇数个相同字符,此时就应该返回false了. 而不是全部放到位…

### 更新数据库时出错。原因:java.sql.SQLException: No database selected

更新数据库时出错。原因&#xff1a;java.sql.SQLException: No database selected 问题&#xff1a;原因&#xff1a;解决办法&#xff1a; 问题&#xff1a; 在基于idea环境中学习搭建mybatis框架时&#xff0c;MySQL数据库执行插入语句遇到以下异常&#xff1a; com.intel…

SMARTFORMS 可选项CONDITION设置条件,根据条件真假显示不一样的内容

文章目录 开发过程执行测试是否输出 开发过程 执行测试 是否输出

前端开发攻略---使用ocr识别图片进行文字提取功能

1、引入资源 通过链接引用 <script src"https://cdn.bootcdn.net/ajax/libs/tesseract.js/5.1.0/tesseract.min.js"></script> npm或其他方式下载 npm i tesseract 2、示例 <!DOCTYPE html> <html lang"en"><head><meta…