getDay 与 getUTCDay 本质区别

背景 

我在做这个实验的时候是北京时间: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点许。


完,欢迎大家来探讨

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

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

相关文章

零空间(Null Space)控制例子

零空间(Null Space)控制是一种用于多任务控制系统的技术,特别适用于机器人和多自由度系统。其基本原理是将控制任务分解为不同的优先级,其中高优先级任务在主空间(Task Space)中执行,而低优先级任务在零空间(Null Space)中执行。这样可以保证在完成主要任务的同时,次…

中仕公考:博士考公务员能免笔试吗?

博士学历的考生,无论是选择报考公务员还是事业单位,都必须经过正规的选拔过程。根据当前规定,所有体制内职位均须通过相应的考试方可入职,除非考生在高考时已选定定向招聘岗位。 博士毕业生如果想成为公务员,必须参加…

有哪些ai聊天推荐?简单分享三款

有哪些ai聊天推荐?在当今数字化时代,人工智能(AI)聊天软件已经成为我们日常生活中不可或缺的一部分。无论是与朋友、家人还是同事交流,这些智能聊天软件都能为我们提供极大的便利。那么,市面上有哪些值得推…

keil测量代码执行时间

文章目录 前言背景二、使用步骤软件模拟仿真连接实物在线仿真使用代码来计算某个模块或函数等的运行时间 总结 前言 本文参考了KEIL 下如何准确测量代码执行时间?与正点原子的STM32F1开发指南-寄存器版本_V3.3.pdf 提示:以下是本篇文章正文内容&#xf…

Spring Boot + Mybatis Plus实现登录注册

Spring Boot 实现登录注册 1. 注册 业务逻辑 客户端输入注册时需要的用户参数,比如:账户名、密码、确认密码、其他服务端接收到客户端的请求参数进行校验,然后判断是否有误,有误的地方就将错误信息抛出将密码进行加密之后存储到…

全新抖音快手小红书视频解析去水印系统网站源码

这个系统支持几十种平台,包括抖音、快手小红书以及其他热门社交媒体平台。它可以帮助轻松地下载这些平台上的任何视频,并去除其中的水印,让你可以自由地保存和分享这些视频。 使用方法: 上传压缩包解压,网站信息在inc…

实验演示方波是由正弦波叠加而成的

方波可以看成是由N个正弦波叠加而成,在数学上,方波可以写成这个式子,大家可以看到这个式子里面包含了无数个奇数次的正弦波。 下面通过运放构成的反相求和电路来看一下,正弦波叠加成方波 对于这个反相求和电路: Ui1是…

深度学习Day-20:DenseNet算法实战 乳腺癌识别

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 一、 基础配置 语言环境:Python3.8编译器选择:Pycharm深度学习环境: torch1.12.1c…

【全开源】Java 白色陪玩高端小程序源码陪练APP源码H5公众号源码电竞系统比心源码

🎮游戏陪玩白色高端小程序:你的专属游戏伙伴 🎉一、引言:游戏不再孤单 你是否曾在游戏中感到孤单,或是想寻找一个能够与你并肩作战的伙伴?现在,有了这款“游戏陪玩白色高端小程序”&#xff0…

Yapi代码执行 waf绕过实战记录

本文记录了2021年一次有趣的客户目标测试实战。这次经历颇为特别,因此我将其整理成笔记,并在此分享,希望对大家有所帮助。 事件起因 疫情在家办公,准备开始划水的一天,这时接到 boss 的电话说要做项目,老…

3D培训大师:深度沉浸式学习,筑牢基建安全防线

基建行业作为国家发展的基石,横跨公共事业、交通运输、水利环境等核心领域,施工现场的安全保障至关重要。这不仅是为了锤炼员工精湛的操作技能,更是为了提升每一位员工的安全意识,确保他们在复杂的工程环境中游刃有余,…

【Ardiuno】实验使用ESP32单片机实现高级web服务器暂时动态图表功能(图文)

接下来&#xff0c;我们继续实验示例代码中的Wifi“高级web服务器”&#xff0c;配置相关的无线密码后&#xff0c;开始实验 #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h>const char *ssid "XIAOFE…

总负债50万,32万网贷已还清,征信花了,多久才能养好?

​近年来&#xff0c;我国网贷市场如同春天的竹笋&#xff0c;一夜间冒出无数。不论企业资质如何&#xff0c;都纷纷涉足网贷领域&#xff0c;导致网贷乱象丛生。在如此环境下&#xff0c;借钱变得轻而易举&#xff0c;门槛低得让人难以置信&#xff0c;许多人一缺钱就想到网贷…

使用CSS、JavaScript、jQuery三种方式实现手风琴效果

手风琴效果有不少&#xff0c;王者荣耀官网&#xff08;源网址 https://pvp.qq.com/raiders/ &#xff09;有一处周免英雄&#xff0c;使用的就是手风琴效果&#xff0c;如图所示。 我试着用css、js、jQuery三种方式实现了这种效果&#xff0c;最终效果差不多&#xff0c;美中不…

【产品经理】发票系统简述

一、发票类型 增值税电子普通发票&#xff1a;简称电票 增值税普通发票和增值税专用发票&#xff0c;简称&#xff1a;纸票 蓝票&#xff1a;开票金额为正值的发票。红票&#xff1a;发票金额为负值的发票。 注&#xff1a;专票电子化系统国家目前在推&#xff0c;后续有更新…

C++ 13 之 常量的引用

c13常量的引用.cpp #include <iostream> using namespace std;void showval(const int &a) {// 给函数形参设置const, 目的是防止后续误操作修改变量值// a 200; // 参数一旦设置为const常量&#xff0c;就无法直接修改&#xff0c;想改需要使用指针cout << …

Spring IoC注解

一、回顾反射机制 反射的调用三步&#xff1a;1&#xff09;获取类。2&#xff09;获取方法。3&#xff09;调用方法 调用方法&#xff1a;调用哪个对象&#xff0c;哪个方法&#xff0c;传什么参数&#xff0c;返回什么值。 方法&#xff08;Do&#xff09;类&#xff1a; …

GPT-4o更易越狱?北航南洋理工上万次测试详解!

GPT-4o&#xff0c;比上一代更容易遭受越狱攻击&#xff1f; 北航和南洋理工的研究人员通过上万次API查询&#xff0c;对GPT-4o的各种模态安全性进行了详细测试。 结果发现&#xff0c;GPT-4o新引入的语音模态带来了新的攻击面&#xff0c;多模态整体安全性不如GPT-4V。 GPT-4o…

SAP 使用BAPI更改分配字段ZUONR不生效解决方案

需求&#xff1a; 使用BAPI变更财务凭证上的ZUONR分配字段&#xff0c;正常情况下使用BAPI:FI_DOCUMENT_CHANGE或者FI_ITEMS_MASS_CHANGE都是可以进行变更的&#xff0c;但是项目上要变更的科目类型是KZ&#xff0c;导致这两个BAPI都没办法进行更改&#xff0c;故对此BAPI进行…

Kali Linux 2022.2 发布,包含 10 个新工具和WSL 改进

Offensive Security发布了Kali Linux 2022.2&#xff0c;这是2022年的第二个版本&#xff0c;具有桌面增强功能&#xff0c;有趣的愚人节屏幕保护程序&#xff0c;WSL GUI改进&#xff0c;终端调整&#xff0c;最重要的是&#xff0c;新的工具&#xff01; Kali Linux是一个Li…