当前位置: 首页 > news >正文

Python 的 datetime 模块

目录

简介

一、date类

(一)date 类属性

(二)date 类方法

(三)实例属性

(四)实例的方法

二、time类

(一)time 类属性

(二)time 实例属性

(三)实例方法

三、datetime类

(一)datetime 类属性

(二)datetime 类方法

(三)实例属性

(四)实例方法

四、timedelta类

(一)timedelta 类属性

(二)timedelta 实例属性

(三)timedelta 实例方法

用法

五、时间类型转换

(一)str 与 datetime 转换

1.str->datetime

2.datetime->str

(二)date/datetime与时间戳转换

1.时间戳->datetime

2.datetime->时间戳

(三)时间戳 timestamp 与字符串转换

1.时间戳->str

2.str->时间戳


简介

        datetime 模块是对 time 模块的封装,这个模块提供了这几个类:date(日期)、time(时间)、datetime(日期时间,功能覆盖前两者)、timedelta(时间差)、tzinfo。文章用于记录模块的常用属性和方法(一些不太常用的可能不会涉及)

        python 里表示时间的格式有三种:时间戳、元组、格式化时间。与time模块类似,datetime 模块也能够将 datetime 类型转换成这三种类型。需要注意的是,str 和时间戳的转换,都需要先转成 datetime,datetime 相当于时间处理的中间桥梁

        对于三种时间表示方式、时间计算标准及 time 模块的使用结合另一篇文章:​​​​​​​python的time模块_python中的time模块_带带琪宝的博客-CSDN博客

一、date类

        datetime.date(year,month,day) 表示年、月、日等日期

from datetime import date
import time

         导包还出现了个报错:因为取的文件名和包名重复了Python报错“ImportError:most likely due to a circular import“记录_importerror: cannot import name 'datetime' from 'p-CSDN博客

(一)date 类属性

  • date.min:该类对象所能表示的最早日期,date(MINYEAR, 1, 1)
print(date.min)
0001-01-01
  • date.max:该类对象所能表示的最晚日期,date(MAXYEAR, 12, 31)
print(date.max)
9999-12-31
  • date.resolution:该类对象表示日期的最小单位,在这里为 1 天,timedelta(days=1)
print(date.resolution)
1 day, 0:00:00

(二)date 类方法

  • date.today():返回一个表示当前本地日期的 date 对象
day=date.today()    # 返回当前格式化的年月日
print(day)
print(type(day))    # date类型2023-11-08
<class 'datetime.date'>
  • date.fromtimestamp(timestamp):根据给定的时间戮,返回一个 date 对象,可用于时间转换
print(date.fromtimestamp(666666666))
1991-02-16

        时间戳:格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 

  • date.fromordinal(ordinal):将 Gregorian 日历时间转换为 date 对象(Gregorian Calendar:一种日历表示方法,类似于我国的农历,西方国家使用比较多)

(三)实例属性

        date类的实例有年月日三个属性,即

  • date.year:年,取值1~9999
  • date.month:月,取值1~12
  • date.day:日,取值取决于年和月

(四)实例的方法

        常用的如下

day=date.today()
print(day.year)    # 返回年份2023,也可返回月、日2023
print(day.replace(1999,4,26))    # 修改时间
1999-04-26
print(day.timetuple())    # 返回时间元组
time.struct_time(tm_year=2023, tm_mon=11, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=312, tm_isdst=-1)
print(day.weekday())    # 返回星期几(由0开始)
2print(day.isoweekday())    # 返回星期几(由1开始)
3
print(day.isoformat())    # 以'YYYY-MM-DD'形式字符串返回
2023-11-08

原自:python的datetime库使用详解_流光、月影的博客-CSDN博客

二、time类

        time 对象表示一天中某时间

(一)time 类属性

  • time.min:time 对象所能表示的最早时间,time(0, 0, 0, 0)
print(time.min)
00:00:00
  • time.max:time 对象所能表示的最晚时间,time(23, 59, 59, 999999)
print(time.max)
23:59:59.999999
  • time.resolution:time 对象表示时间的最小单位,这里为1微秒,timedelta(microseconds=1).
print(time.resolution)
0:00:00.000001

(二)time 实例属性

  • time.hour:小时,取值0 ~ 23
  • time.minute:分钟,取值0 ~ 59
  • time.second:秒,取值0 ~ 59
  • time.microsecond:微秒,取值0~999999
  • time.tzinfo
datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

(三)实例方法

t=time(hour=20, minute=30, second=14, microsecond=6666, tzinfo=None)
print(time.isoformat(t))    # 返回格式化日期字符串,如 "HH:MM:SS.mmmmmm" 的字符串20:30:14.006666

三、datetime类

        datetime.datetime() 表示日期和时间表示的类,是 date 对象和 time 对象的结合体,包含他们的所有信息,功能也覆盖 date 和 time 类

(一)datetime 类属性

  • datetime.min:datetime 对象所能表示的最早时间,datetime(MINYEAR, 1, 1, tzinfo=None)
print(datetime.min)
0001-01-01 00:00:00
  • datetime.max:datetime 对象所能表示的最晚日期,datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999, tzinfo=None)
print(datetime.max)
9999-12-31 23:59:59.999999
  • datetime.resolution:datetime 对象表示日期的最小单位,在这里是 1 毫秒,timedelta(microseconds=1)
print(datetime.resolution)
0:00:00.000001

(二)datetime 类方法

  • datetime.today():返回表示当前本地时间的 datetime 对象,等价于datetime.fromtimestamp(time.time())
  • datetime.now(tz=None):返回表示当前本地时间的 datetime 对象,参数 tz 为时区
  • datetime.utcnow():返回一个当前 UTC 时间的 datetime 对象
print(datetime.today())
print(datetime.now())
print(datetime.utcnow())2023-11-09 17:47:16.834907
2023-11-09 17:47:16.835902
2023-11-09 09:47:16.835902
  • datetime.fromtimestamp(timestamp, tz=None):根据时间戮创建一个 datetime 对象,参数 tz 指定时区信息
  • datetime.utcfromtimestamp(timestamp):根据时间戮创建一个 UTC 时间的 datetime 对象
print(datetime.fromtimestamp(2222222222, tz=None))
print(datetime.utcfromtimestamp(2222222222))2040-06-02 11:57:02
2040-06-02 03:57:02
  • datetime.combine(date, time):根据参数 date 和 time,创建一个 datetime 对象
  • datetime.strptime(date_string, format):将格式化字符串转换为 datetime 对象

(三)实例属性

datetime (year, month, day, hour=0, minute=0,second=0, microsecond=0)
  • year:指定的年份,MINYEAR(1) <= year <= MAXYEAR(9999)
  • month:指定的月份,1 <= month <= 12
  • day:指定的日期,1 <= day <=月份所对应的日期上限
  • hour:指定的小时,0 <= hour < 24
  • minute:指定的分钟数,0 <= minute < 60
  • second:指定的秒数,0 <= second < 60
  • microsecond:指定的微秒数,0 <= microsecond < 1000000

        hour、minute、second、microsecond 参数可以全部或部分省略。

(四)实例方法

        datetime 具有绝大多数 date 和 time的属性,参考上方 time 与 date 的实例方法

  • datetime.date():返回对象的日期,即年月日
  • datetime.time():返回对象的时间,即时分秒、微秒
dt=datetime (year=2023, month=12, day=25, hour=20, minute=30,second=15, microsecond=6666)
print(dt)
print(dt.date())
print(dt.time())2023-12-25 20:30:15.006666
2023-12-25
20:30:15.006666

四、timedelta类

        timedelta 表示的是一个时间段,即两个日期 date 或者日期时间 datetime 之间的差,Python 中 pandas 与 datetime 的 timedelta 可以相互换算

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

(一)timedelta 类属性

  • timedelta.min:timedelta 对象负值的极限,timedelta(-999999999)
print(timedelta.min)
-999999999 days, 0:00:00
  • timedelta.max:timedelta 对象正值的极限,timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
print(timedelta.max)
999999999 days, 23:59:59.999999
  • timedelta.resolution:两个 timedelta 不相等的对象之间最小的差值,即一微秒
print(timedelta.resolution)
0:00:00.000001

(二)timedelta 实例属性

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

        timedelta 的实例属性有日期、秒、微秒,其他参数都是需要转换的

  • timedelta.days:天数,取值 -999999999 ~ 999999999
  • timedelta.seconds:秒数,取值0 ~ 86399(1小时秒数 * 一天24小时,进行进位)
  • timedelta.microseconds:微秒,取值 0 ~ 999999

(三)timedelta 实例方法

  • timedelta.total_seconds():返回 timedelta 对象所包含的总秒数

用法

1.

t1=datetime.now() # 当前时间
t2=datetime (year=1999, month=4, day=26, hour=0, minute=0,second=0, microsecond=0) 
# 构造一个时间
print(t1)
print(t2)
print(timedelta.total_seconds(t1-t2)) # 进行运算2023-11-10 12:32:47.457375
1999-04-26 00:00:00
774534767.457375

2.

t1=datetime.now()
t2=timedelta(days=1)
print(t1)
print(t2)
print(t1+t2) # 加一天2023-11-10 13:41:33.859151
1 day, 0:00:00
2023-11-11 13:41:33.859151

五、时间类型转换

        主要是 datetime,str,时间戳之间的转换

        python中时间日期格式化符号:

  • %a:星期的简写(星期一 ~ 天:Mon, Tue, Wed, Thu, Fri, Sat, Sun)
  • %A :星期的全写(星期一 ~ 天:Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
  • %w:在一个星期中的第几天( 0 表示星期天 ... 6 表示星期六)
  • %d:在一个月中的第几天(01, 02, ..., 31)
  • %b:月份的简写(一月 ~ 十二月:Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
  • %B: 月份的全写(一月 ~ 十二月:January, February, March, April, May, June, July, August, September, October, November, December)
  • %m:月份(01, 02, ..., 12)
  • %y:用两个数字表示年份(例如 2014年 == 14)
  • %Y:用四个数字表示年份
  • %H:二十四小时制(00, 01, ..., 23)
  • %I:十二小时制(01, 02, ..., 11)
  • %p:AM 或者 PM
  • %M:分钟(00, 01, ..., 59)
  • %S:秒(00, 01, ..., 59)
  • %f:微秒(000000, 000001, ..., 999999)
  • %z:与 UTC 时间的间隔 ;如果是本地时间,返回空字符串((empty), +0000, -0400, +1030)
  • %Z:时区名称;如果是本地时间,返回空字符串((empty), UTC, EST, CST)
  • %j:在一年中的第几天(001, 002, ..., 366)
  • %U:在一年中的第几周,星期天作为第一天(00, 01, ..., 53)
  • %W:在一年中的第几周,星期一作为第一天(00, 01, ..., 53)
  • %c:用字符串表示日期和时间(Tue Aug 16 21:30:00 2014)
  • %x:用字符串表示日期(08/16/14)
  • %X:用字符串表示时间(21:30:00)
  • %%:表示百分号

(一)str 与 datetime 转换

1.str->datetime

  • 使用 datetime.strptime()
a = '1999-04-01 10:15:55'
b = datetime.strptime(a,'%Y-%m-%d %H:%M:%S')
print(a)
print(b)
print(type(a))
print(type(b))1999-04-01 10:15:55
1999-04-01 10:15:55
<class 'str'>
<class 'datetime.datetime'>

2.datetime->str

  • 使用 datetime.strftime()
today = datetime.now()
s=today.strftime('%Y-%m-%d %H:%M:%S:%f')
print(today)
print(s)
print(type(today))
print(type(s))2023-11-10 14:37:13.912090
2023-11-10 14:37:13:912090
<class 'datetime.datetime'>
<class 'str'>

(二)date/datetime与时间戳转换

        需要借助 time 中时间戳方法

1.时间戳->datetime

  • 使用 datetime.fromtimestamp()
import timet=time.time()    # 可以获得当前时间戳
print(t)
print(datetime.fromtimestamp(t))1699601829.9119656
2023-11-10 15:37:09.911966

2.datetime->时间戳

  • 使用 datetime.timestamp()
t=datetime.timestamp(datetime.now())
print(t)
print(datetime.fromtimestamp(t))1699602673.122222
2023-11-10 15:51:13.122222

(三)时间戳 timestamp 与字符串转换

        字符串与时间戳不能直接进行转换,需要借助 datetime 作为桥梁

1.时间戳->str

        时间戳->datetime->str

d=datetime.timestamp(datetime.now()) # 获得一个时间戳
s=datetime.strftime(datetime.fromtimestamp(d),'%Y-%m-%d %H:%M:%S')  # 时间戳->datetime->str 
print(d)
print(s)
print(type(d))
print(type(s))1699603804.461055
2023-11-10 16:10:04
<class 'float'>
<class 'str'>

2.str->时间戳

        str->datetime->时间戳

s='20231225'    # 字符串
f=datetime.strptime(s,'%Y%m%d') # 转为datetime
d=f.timestamp() # 得到时间戳
print(s)
print(d)
print(type(s))
print(type(d))20231225
1703433600.0
<class 'str'>
<class 'float'>

相关文章:

Python 的 datetime 模块

目录 简介 一、date类 &#xff08;一&#xff09;date 类属性 &#xff08;二&#xff09;date 类方法 &#xff08;三&#xff09;实例属性 &#xff08;四&#xff09;实例的方法 二、time类 &#xff08;一&#xff09;time 类属性 &#xff08;二&#xff09;tim…...

Termius for Mac:掌控您的云端世界,安全高效的SSH客户端

你是否曾经在Mac上苦苦寻找一个好用的SSH客户端&#xff0c;让你能够远程连接到Linux服务器&#xff0c;轻松管理你的云端世界&#xff1f;现在&#xff0c;我们向你介绍一款强大而高效的SSH客户端——Termius。 Termius是一款专为Mac用户设计的SSH客户端&#xff0c;它提供了…...

Ubuntu 下监控并自动重启网卡

很多时候网站服务器挂掉也可能是因为网卡挂掉了&#xff0c;如果你网站不能访问时 SSH 也无效了一般都是这个问题。这时可以通过一个定时脚本监控网络并进行自动重启。 1 创建脚本 auto_restart_network.sh 4 5 6 7 8 9 #!/bin/bash ping www.baidu.com -c 1 >/dev/null i…...

377. 组合总和 Ⅳ

给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3], target 4 输出&#xff1a;7 解释&#…...

【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK

一、介绍 计算光流可以使用OpenCV的calcOpticalFlowPyrLK方法&#xff0c;cv2.calcOpticalFlowPyrLK是OpenCV库中的一个函数&#xff0c;用于计算稀疏光流。它实现的是Lucas-Kanade方法&#xff0c;这是一种常用的光流计算方法。 光流是图像中物体运动的近似表示&#…...

C语言进阶

数组 在基础篇说过&#xff0c;数组实际上是构造类型之一&#xff0c;是连续存放的。 一维数组 定义 定义格式&#xff1a;[存储类型] 数据类型 数组名标识符[下标]; 下面分模块来介绍一下数组的定义部分的内容。 1、初始化和元素引用&#xff1a; 可以看到数组是连续存储…...

Linux之gdb

gdb就是一个Linux的调试工具&#xff0c;类似与vs里面的调试 可执行程序也有格式&#xff0c;不是简单的二进制堆砌...

100天精通风控建模(原理+Python实现)——第3天:风控建模中如何处理缺失值?

风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。    之前已经阐述了100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?    100天精通风控建模(原理+Python实现)——第2天:风控建模有什么目的?    接下来看下100天精通风控建模(原理…...

Leetcode—680.验证回文串II【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—680.验证回文串II 实现代码 class Solution { public:bool judgeFunc(string s, int left, int right) {while(left < right) {if(s[left] ! s[right]) {return false;}left;right--;}return true;}bool validPalin…...

Redis五种数据类型及命令操作(二)

&#x1f388;个人公众号:&#x1f388; :✨✨✨ 可为编程✨ &#x1f35f;&#x1f35f; &#x1f511;个人信条:&#x1f511; 知足知不足 有为有不为 为与不为皆为可为&#x1f335; &#x1f349;本篇简介:&#x1f349; 本篇记录Redis五种数据类型及命令操作&#xff0c;如…...

低代码信创开发核心技术(三):MDA模型驱动架构及元数据系统设计

前言 写最后一篇文章的时候&#xff0c;我本人其实犹豫了半年&#xff0c;在想是否发布出这篇文章&#xff0c;因为可能会动了很多人的利益。所以这篇文章既是整个低代码信创开发的高度总结&#xff0c;也是最为精华的一部分&#xff0c;它点明了低代码中最为核心的技术。虽然…...

HslCommunication模拟西门子读写数据

导入HslCommunication C#端代码&#xff08;上位机&#xff09; 这里要注意的是上位机IP用的当前电脑的IP。 using HslCommunication; using HslCommunication.Profinet.Siemens; using System; using System.Collections.Generic; using System.ComponentModel; using Syste…...

多测师肖sir_高级金牌讲师_ui自动化po框架版本02

ui自动化po框架版本02 一、 pages下的BasePage.py模块 此模块是封装所有用例的基类 比如说&#xff1a;所有用例要用到的元素定位&#xff0c;以及输入框输入&#xff0c;点击&#xff0c;下拉等等公共方法import unittest #导入unittest 框架 from time import *# 调试代码…...

线性判别分析(Linear Discriminant Analysis,LDA)

Linear Discriminant Analysis&#xff08;LDA&#xff09; 输入&#xff1a; 原始数据$D((x_1,y_1),(x_2,y_2),...,(x_m,y_m)$ 、​ 类别标签$Y[y_1,y_2,...,y_n]$、​ 降维到的维度d输出&#xff1a; 投影矩阵W、投影后的样本$Z$、算法步骤&#xff1a; 1.计算类内散度…...

git的分支及标签使用及情景演示

目录 一. 环境讲述 二.分支 1.1 命令 1.2情景演练 三、标签 3.1 命令 3.2 情景演示 ​编辑 一. 环境讲述 当软件从开发到正式环境部署的过程中&#xff0c;不同环境的作用如下&#xff1a; 开发环境&#xff1a;用于开发人员进行软件开发、测试和调试。在这个环境中…...

深度解析找不到msvcp120.dll相关问题以及解决方法

​在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp120.dll丢失”。这个错误通常会导致某些应用程序无法正常运行&#xff0c;给用户带来很大的困扰。那么&#xff0c;如何解决msvcp120.dll丢失的问题呢&#xff1f;本文将为大家介绍…...

SQL Server 2022 安装步骤——SQL Server设置身份验证教程

目录 前言: 安装详细步骤: 第一步: 第二步: 第三步: 第四步: SQL Server 连接的方式: Window验证: SQL Server验证: 两者之间区别: 总结: SQL Server身份验证登录配置教程:​ 第一步: 第二步: 第三步: 番外篇: 前言: 本文讲解&#xff0c;如何安装SQL Server安…...

Maven各方面配置好了却无法显示版本

今天配置了maven环境&#xff0c;各方面都配置好了命令行却一直没办法显示maven的版本&#xff0c;原因 竟是两个JDK导致maven无法选择&#xff0c;因为maven依赖于JDK&#xff0c;导致在选择JDK的时候差生了二义 性&#xff0c;在环境变量里面删除不常用的JDK&#xff0c;只…...

Jdk 1.8 for mac 详细安装教程(含版本切换)

Jdk 1.8 for mac 详细安装教程&#xff08;含版本切换&#xff09; 官网下载链接 https://www.oracle.com/cn/java/technologies/downloads/#java8-mac 一、选择我们需要安装的jdk版本&#xff0c;这里以jdk8为例&#xff0c;下载 macOS 版本&#xff0c;M芯片下载ARM64版本…...

02MyBatisPlus条件构造器,自定义SQL,Service接口

一、条件构造器 1.MyBatis支持各种复杂的where条件&#xff0c;满足开发的需求 Wrapper是条件构造器&#xff0c;构建复杂的where查询 AbstractWrapper有构造where条件的所有方法&#xff0c;QueryWrapper继承后并有自己的select指定查询字段。UpdateWrapper有指定更新的字段的…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...