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

js根据指定的【时区、日期时间】获取对应时区的日期时间

js根据指定的【时区、日期时间】获取对应时区的日期时间


计算不同时区的指定的时间(国内的时间都以北京时间为准(即东八区的时间),下面的方法是计算同一指定时间下其它时区的对应的时间)。
思路:先把指定时间转为 0时区的utc时间(世界标准时间),再根据不同时区计算对应的指定的时间。

// zone 表示时区,正数为东时区,负数为西时区 ; givenDate为指定的时间
function getLocalTime(zone, givenDate) {// 获取指定的时间var given_ms = new Date(givenDate).getTime();// 本地时间与UTC时间的 时间偏移差(getTimezoneOffset的单位是min)var d = new Date();var offset_ms = d.getTimezoneOffset() * 60 * 1000;// 转为utc时间,因为各时区的utc时间相同var utc_ms = given_ms + offset_ms;// 计算出 目标时区 的标准时间var target_ms = utc_ms + zone * 60 * 60 * 1000;var dateTime = timestampToYMDHMS(target_ms);console.log(dateTime, "dateTime");//   2024-08-16 11:25:00 dateTime   东八区//   2024-08-15 19:25:00 dateTime   西八区return dateTime;
}getLocalTime(8, "2024-08-16 11:25:00");
getLocalTime(-8, "2024-08-16 11:25:00");// 时间戳转为自定义时间日期格式
function timestampToYMDHMS(timestamp) {let date = new Date(timestamp);let year = date.getFullYear();let month =date.getMonth() + 1 < 10? "0" + (date.getMonth() + 1): date.getMonth() + 1;let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();let hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();let minutes =date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();let seconds =date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();let YMDHMS =year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;return YMDHMS;
}

参考:
https://blog.csdn.net/s18813688772/article/details/139960128

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【HeadFirst 设计模式】单例模式的C++实现
  • CANoe软件中Trace窗口的筛选栏标题不显示(空白)的解决方法
  • 【MySQL核心】MySQL 数据恢复-ibd2sql
  • 2021年上半年网络工程师考试上午真题
  • git , nvm 快速下载安装包链接
  • 5.4 视图的创建与管理
  • windows调试ios记录
  • CH582M低功耗蓝牙温湿度传感器接入HASS
  • IDS 与 IPS:网络安全的两道防线
  • 数字孪生技术框架:从数据到决策的桥梁
  • Python进阶知识点--总结
  • Vue 生命周期详解含demo、面试常问问题案例
  • Java服务实现多数据源切换
  • HTTPS通讯全过程
  • docker容器引用glibc库
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [译] 怎样写一个基础的编译器
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • css属性的继承、初识值、计算值、当前值、应用值
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JSONP原理
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • node.js
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • text-decoration与color属性
  • Vim 折腾记
  • 分布式任务队列Celery
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 理解在java “”i=i++;”所发生的事情
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 一天一个设计模式之JS实现——适配器模式
  • Linux权限管理(week1_day5)--技术流ken
  • ​io --- 处理流的核心工具​
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • $ git push -u origin master 推送到远程库出错
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (ros//EnvironmentVariables)ros环境变量
  • (ZT)薛涌:谈贫说富
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (三)模仿学习-Action数据的模仿
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (新)网络工程师考点串讲与真题详解
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)Linux下编译安装log4cxx
  • (转)创业家杂志:UCWEB天使第一步
  • (转)母版页和相对路径
  • .gitignore文件忽略的内容不生效问题解决
  • .net 7 上传文件踩坑
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net core 依赖注入的基本用发
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET6 命令行启动及发布单个Exe文件