场景:数据库存储的是服务器时间,需要根据浏览器端客户的时区导出时间。
图示:
C<----- offsetClientTime ----->B<----- offsetServerTime ----->A
server------------------------------utc-------------------------------client

  1. 客户端获取时间差:

     function getTimeOffset(){var now = new Date(); var offsetHours = now.getHours()-now.getUTCHours(); //A - Breturn offsetHours;}var offsetClientTime = getTimeOffset();//得到↑,传递给服务器
  2. 服务端计算时间差:

     var utcNow = DateTime.UtcNow;var serverNow = DateTime.Now;var offsetServerTime = utcNow.Hour - serverNow.Hour; //B - C
  3. 计算数据库
    从数据库取出的时间减去两个时间差

     var dbTime = ....;var outputTime = dbTime.AddHours(offsetServerTime+offsetClientTime)
  4. 备注
    时区有半小时的情况,所以offsetHours计算应该改为按半小时更合适(如果按照分钟或者秒传递至服务器端会有误差)

转载于:https://www.cnblogs.com/liqipeng/p/4918125.html

服务器导出服务器时间转换浏览器端时区相关推荐

  1. java不同时区时间转换,Java不同时区(timezone)之间时间转换

    最近出现一个问题是这样的 我们的系统在国外打印的日志时间由于时差关系和国内不一致 看起来不方便 希望国外的日志和国内保持一致 即 需要对不同时区的时间做转换调整 统一为国内时间. 一.关于时区的一些概 ...

  2. java 带时区的时间格式_java时间转换,带时区的

    展开全部 我假设了你的已知时间类型32313133353236313431303231363533e4b893e5b19e31333335303535为Calendar,如果不是你也可以自己改成Dat ...

  3. Go 学习笔记(48)— Go 标准库之 time (获取时/分/秒的单位值、标准时间和Unix时间转换、字符串时间和Time类型转换、时区转换、时间的加减/休眠)

    1. 概要说明 import "time" time 包提供了时间的显示和测量用的函数.日历的计算采用的是公历. Go 提供以下几种时间类型: 时间点 Time 时间段 Durat ...

  4. mysql 美东时间格式_C#/.NET怎么样将UTC时间转换成美国东部时间(EST)

    C#/.NET将UTC时间转换成美国东部时间(EST)时,我们需要使用到.NET Framework中与时区有关的TimeZoneInfo类的静态方法:FindSystemTimeZoneById(& ...

  5. 关于 python datetime 时间转换差6分钟

    背景 如图所示,使用replace将无时区时间转换成有时区时间,会相差6分钟 原因 使用pytz设置时区,得到是LMT对象,即本地平均时区,不是标准的东八区 解决办法 第一张图里面已经显示.用tz.l ...

  6. JSP 获得服务器时间和浏览器时间

    发布项目到服务器并访问 创建Web项目,开发静态页面 部署到服务器Tomcat 启动服务器Tomcat 不同用户通过浏览器来访问Web项目 Web项目和Java项目的区别 Web项目需要JavaEE的 ...

  7. 浏览器访问ftp服务器的文件时间,win10文件浏览器访问ftp服务器

    win10文件浏览器访问ftp服务器 内容精选 换一换 简要介绍React(有时叫"React.js"或ReactJS)是一个为数据提供渲染为HTML视图的开源JavaScript ...

  8. 浏览器端JS导出EXCEL

    浏览器端JS导出EXCEL FileSaver.js 实现了在本身不支持 HTML5 W3C saveAs() FileSaver 接口的浏览器支持文件保存.FileSaver.js 在客户端保存文件 ...

  9. 服务器怎么导出数据库文件,怎么导出服务器数据库文件

    怎么导出服务器数据库文件 内容精选 换一换 确认后点击确认即可,导出内容参考表1.选择界面 MongoDB官网提供了针对不同操作系统的客户端安装包,其二进制安装包下载页面链接为:https://www ...

最新文章

  1. Laravel 上使用 phpexcel的两种方式
  2. 用Tableau画圆形网络关系图
  3. 2021年计算机三级新题型,2021年如何通过计算机三级考试的经验
  4. 脸部螨虫和肥皂洗脸的问题
  5. 云计算hcie贴吧_专业介绍|计算机网络技术
  6. 2021年第3周推荐系统方向的周报
  7. 属性定义为 not null unique_Spring Data with MySQL (实体定义)
  8. 克鲁赛德战记服务器无响应,克鲁赛德战记闪退黑屏登不上怎么办 解决方法
  9. jQuery-表单验证使用方法
  10. java工程师容易秃头吗_当程序员会容易秃头?下面这3种职业一样会秃
  11. 三个技巧教你怎么裁剪视频画面,手残党也能掌握
  12. go 变量大写_go语言如何将大写转小写,c语言字符串小写转大写
  13. uniapp实现自定义相机
  14. Nehe第19课 粒子系统
  15. God--Ruby版的进程监控工具
  16. QQ机器人{退出/回复设置/日志记录篇}
  17. tomcat 配置 数据库连接池
  18. SDN北向接口之REST API
  19. 【Python】批量修改照片日期
  20. Oracle分区表及分区索引

热门文章

  1. html中h3的样式,比较好看的css自定义样式(标题 h1 h2 h3)
  2. 超级计算机性能调查,调查:多数超级计算机使用Linux操作系统
  3. java 搜索文件 pdf_Java查找并高亮PDF文本过程解析
  4. 网工路由基础(7)策略路由PBR
  5. 课时 29:安全容器技术(王旭)
  6. Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22
  7. Knative 基本功能深入剖析:Knative Serving 的流量灰度和版本管理
  8. python取列表前几个元素_Python 获取list(列表)前n个不重复元素
  9. php loading效果,利用CSS3打造十种Loading效果
  10. 没有足够的值_孙悟空唯一一次没有搬救兵,玉帝如来却主动出手是什么时候?...