getDay 与 getUTCDay 本质区别

news2024/7/7 18:07:05

背景 

我在做这个实验的时候是北京时间:2024年6月12日 下午16:32分许

研究方向

本文探讨 getDay getUTCDay 本质区别

测试用例

如果你现在的时区设置的是 (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐

a. 那么来上这段代码

const d = new Date();
var d1 = d.getDay();
var d2 = d.getUTCDay();
console.log(d1,d2)

将是整齐划一,输出一致。

3 3

乍一看好像没什么区别。

b. 那么你再来这段代码

const d = new Date();
console.log( d.getUTCMonth()+1 + '-'+ d.getUTCDate() +' '+ d.getUTCHours() +':'+ d.getUTCMinutes()+'--->'+'【UTC】')
console.log(d.getMonth()+1 + '-'+ d.getDate() +' '+ d.getHours() +':'+ d.getMinutes()+'--->'+'【本地】')
6-12 9:53--->【UTC】
6-12 17:53--->【本地】

你会发现,输出的差额正好符合这张图所显示数字+8

c. 那么当你在北京时间13日0点去打印时

const d = new Date();
console.log( d.getUTCMonth()+1 + '-'+ d.getUTCDate() +' '+ d.getUTCHours() +':'+ d.getUTCMinutes()+'--->'+'【UTC】')
console.log(d.getMonth()+1 + '-'+ d.getDate() +' '+ d.getHours() +':'+ d.getMinutes()+'--->'+'【本地】')

console.log(d.getUTCDay())
console.log(d.getDay())

不出意外的话输出 

6-12 16:00--->【UTC】
6-13 0:00--->【本地】
3
4

相关文献说明

来看看相关文案的解释

JavaScript中的 getUTCDay() getDay() 方法都是 Date 对象上的方法,用于获取日期对象中的星期几信息。它们之间的本质区别在于时区的影响。

  • getUTCDay()返回的是一个基于世界标准时间(UTC)的星期几,范围是0(代表星期日)到6(代表星期六)。
  • getDay()返回的是基于本地时间的星期几,范围也是0(代表星期日)到6(代表星期六)。

要注意的是,这两个方法返回的值都是基于0的,即0代表星期日1代表星期一,以此类推,直到6代表星期六

因此,getUTCDay()返回的是基于UTC的星期几,而getDay()返回的是基于本地时间的星期几。

疑惑

我们现在抓关键信息UTC

将你本地的时区修改为(UTC)协调世界时

设置完成之后,你会发现你的日期已经变成了2024/6/12号 10:05

这时候你再刷新你的主页面代码,将会输出

6-12 10:5--->【UTC】
6-12 10:5--->【本地】
3
3

上升

将你的时区调整为(UTC-12:00)国际日期变更线西

设置完后,你会发现时间变成了2024年6月11日 22:07

控制台输出

6-12 10:7--->【UTC】
6-11 22:7--->【本地】
3
2

上升解答

getDay()是获取你本地的时间并给予输出,以上图示例:6月11日22:7-星期二,输出2。

getUTCDay()是获取你本地时区并结合国际日期变更线给予输出,

综上示例:6月12日10:7-星期三,输出3。国际日期变更线两侧的日期是不同的, 变更线以西,由于在0°线的东面。

时间与0°线处相差12小时,这时已度过了6月11日,正是6月12日的10点许;而变更线以东,这时是6月11日22点许。


完,欢迎大家来探讨

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二刷算法训练营Day29 | 回溯算法(5/6)

目录 详细布置: 1. 491. 非递减子序列 2. 46. 全排列 3. 47. 全排列 II 详细布置: 1. 491. 非递减子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序…

智能盒子如何检测进气压力传感器?

进气压力传感器是一种用于测量发动机进气系统中压力的传感器。安装在发动机的进气管路或进气歧管上,用于监测进气压力的变化。进气压力传感器的作用是将测量到的压力信号转换为电信号,以便发动机控制单元(ECU)可以根据压力变化来调整燃油喷射量、点火时机…

[ue5]建模场景学习笔记(6)——必修内容可交互的地形,交互沙(4)

1.需求分析: 现在我们已经有了可以在世界内近于无限的跑动痕迹,现在需要对痕迹进行细化,包括例如当人物跳起时便不再绘制痕迹,以及痕迹应该存在深浅,应该由两只脚分别绘制,同时也应该对地面材质进行进一步处…

优质短视频素材下载网站有哪些?分享优质短视频素材下载资源

在抖音等短视频平台上取得成功的关键之一是制作出具有视觉吸引力的内容。好的素材可以极大地提升视频的质量和观看体验,吸引更多观众。为了帮助抖音视频制作者找到优质的素材,这里详细介绍几个提供高清视频素材的下载网站。 蛙学府: 蛙学府是…

----几种接口的使用---

Compareable接口 对于给数组中的变量成员排序,我们能想到用sort,根据成员之间的大小进行排序,那么如果数组中的成员是对象的话,单单只是用sort去排序肯定是步成功的,因为并不知道要根据什么去排序, 这时要…

RNA-seq上下游分析snakemake流程

学习完snakemake后写的第一个流程是RNA-seq上游定量和下游的质控和差异分析。 使用fastp处理fastq文件,在使用START比对到基因组同时得到raw count,使用非冗余外显子长度作为基因的长度计算FPKM、TPM,同时也生成了CPM的结果。 非冗余外显子…

6.nginx负载均衡

说明 增加服务器的数量,将请求分发到各个服务器上。 将原来请求集中到单个服务器上的情况改为将请求分发到多个服务器上。 案例 浏览器请求地址http://ip/edu/a.html, 负载均衡的效果,平分到8080和8081两台服务上中。 准备工作 tomcat8080配置 tomcat8081配置 直接通过…

服务器通的远程桌面连接不上,服务器通的远程桌面连接不上解决方法

当面临服务器远程桌面连接不上的问题时,专业的处理方式需要遵循一系列步骤来确保问题得到准确且高效的解决。以下是一些建议的解决方法: 一、初步排查与诊断 1. 检查网络连接: - 确保本地计算机与服务器之间的网络连接是稳定的。 - 尝…

上岸北科大计算机专业难度有多大?北京科技大学计算机考研考情分析!

北京科技大学计算机与通信工程学院源于1973年成立的计算机及应用专业,经过近40年的建设,学院在学科建设、科学研究水平和教育教学质量上实现了跨越式的发展与大力提升。学院目前设有计算机科学与技术系、软件工程系、通信工程系、物联网与电子工程系、信…

算法专题总结链接地址

刷力扣的时候会遇到一些总结类型的题解,在此记录,方便自己以后找 前缀和 前缀和https://leetcode.cn/problems/unique-substrings-in-wraparound-string/solutions/432752/xi-fa-dai-ni-xue-suan-fa-yi-ci-gao-ding-qian-zhui-/ 单调栈 单调栈https:…

python代码生成mac地址流水号工具

因为公司需要生成mac地址流水号,网上写的工具是用字符串拼接的方式,需要考虑很多情况会有遇到0缺位等问题,其实python本身支持大数字计算,所以只需要把用户输入的地址转换成int,直接for循环里面自增输出即可&#xff0…

【微信小程序】开发环境配置

目录 小程序的标准开发模式: 注册小程序的开发账号 安装开发者工具 下载 设置外观和代理 第一个小程序 -- 创建小程序项目 查看项目效果 第一种:在模拟器上查看项目效果 项目的基本组成结构 小程序代码的构成 app.json文件 project.config…

12.【Orangepi Zero2】基于orangepi_Zero_2 Linux的智能家居项目

基于orangPi Zero 2的智能家居项目 需求及项目准备 语音接入控制各类家电,如客厅灯、卧室灯、风扇回顾二阶段的Socket编程,实现Sockect发送指令远程控制各类家电烟雾警报监测, 实时检查是否存在煤气泄漏或者火灾警情,当存在警情时…

5.在Nginx中管理目录并允许浏览器中浏览和下载目录的文件

nginx.conf文件配置 charset utf-8; 防止文件名称为乱码。 autoindex on; 开启目录列表展示。 root /usr/local/software; 文件管理目录,浏览器浏览文件所在目录。

【C++进阶】RBTree封装map与set

1.红黑树的迭代器 1.1 begin() begin()就是红黑树的开头,那么对于红黑树来说按照中序序列是该树的最左节点。 Iterator Begin(){Node* leftMin _root;while (leftMin->_left){leftMin leftMin->_left;}return Iterator(leftMin);} 1.2 end() begin()就是…

阅文集团CEO侯晓楠:建立10亿生态扶持基金,为好内容搭建舞台

6月12日,由安徽省文化和旅游厅、安徽省文学艺术界联合会、黄山市人民政府指导,阅文集团、黄山旅游发展股份有限公司主办的2024阅文创作大会在黄山召开。 据「TMT星球」了解,大会总结了过去一年阅文在“AIIP”业务升级思路下创作生态和IP领域…

写给大数据开发:好的指标定义、特性与业务价值

在大数据时代,数据的质量对于业务决策和数据分析至关重要。好的数据不仅丰富,而且准确、及时,为业务提供有力支撑。 文章目录 数据定义与特性数据对业务的价值指标展示与规范化定义一些指标的定义好的数据是业务成功的关键 数据定义与特性 好…

pycharm终端pip安装模块成功但还是显示找不到 ModuleNotFoundError: No module named

报错信息: ModuleNotFoundError: No module named 但是分明已经安装过此模块: 在cmd运行pip list 查看所有安装过的包找到了安装过: 如果重新安装就是这样:显示已经存在了 问题排查: 直接根据重新安装的显示已存在的…

什么是APS计划排程? 企业产能与效率提升的智能引擎

快节奏和愈发激烈的现代工业环境中,如何提升生产效率、降低生产成本、最大化的满足订单交期、实现企业的降本增效,已成为众多企业关注的焦点。而APS系统——作为高级生产计划和调度系统的代表,正以其卓越的生产过程实时监控、产品加工过程优化…

初级网络工程师之从入门到入狱(三)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 中小型网络系统综合实战实验 前言一、详细拓扑图二、LSW2交换机三、LSW3交换机四、LSW1三层交换机4.1、4.2、4.3、4.4、4.5、…