/***** @param s 所在时区* @return 所在时区的时间*/private String calculateTime(String s, boolean isDaylight) {String s1 = "空";//我要获取当前的日期Date date = new Date();//设置要获取到什么样的时间SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");//获取String类型的时间String createdate = sdf.format(date);String nowTime[] = createdate.split(":");int now[] = new int[2];now[0] = Integer.parseInt(nowTime[0]);now[1] = Integer.parseInt(nowTime[1]);//计算的区时=已知区时-(已知区时的时区-要计算区时的时区)if (s.contains(":")) {//如果是半个时区 判断前面的字符是加还是减  后面的跟着变String time[] = s.split(":");int shiqu[] = new int[2];shiqu[0] = Integer.parseInt(time[0]);shiqu[1] = Integer.parseInt(time[1]);if (shiqu[0] < 0) {///这是时区是 - 的情况  例如-9:30int hour = now[0] - (8 - shiqu[0]);int minute = now[1] - (shiqu[1]);if (minute < 0) {hour = hour - 1;minute = 59 + minute;}if (hour < 0) {hour = 23 + hour;}//判断是不是夏令时if (isDaylight) {hour++;}if (minute < 10) {s1 = hour + ":0" + now[1];} else {s1 = hour + ":" + now[1];}} else {///这是时区是 + 的情况  例如+9:30int hour = now[0] - (8 - shiqu[0]);int minute = now[1] + (shiqu[1]);if (minute > 59) {hour = hour + 1;minute = minute - 59;}if (minute < 0) {hour = hour - 1;minute = 59 + minute;}if (hour > 23) {hour = hour - 23;}if (hour < 0) {hour = 23 + hour;}//判断是不是夏令时if (isDaylight) {hour++;}if (minute < 10) {s1 = hour + ":0" + minute;} else {s1 = hour + ":" + minute;}}} else {int time = Integer.parseInt(s);int timeHour = now[0] - (8 - time);if (timeHour < 0) {timeHour = 23 + timeHour;}//判断是不是夏令时if (isDaylight) {timeHour++;}if (now[1] < 10) {s1 = timeHour + ":0" + now[1];} else {s1 = timeHour + ":" + now[1];}}return s1;}

根据现在的时区,判断其他时区的时间,包含夏令时。相关推荐

  1. php读取客户机本地时间,PHP如何获取客户端时区以及准确显示所在地时间

    这篇文章主要为大家详细介绍了PHP如何获取客户端时区以及准确显示所在地时间,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 这段时间给用户做了一个外贸网站,网站主 ...

  2. oracle修改时区无效,Oracle 时区问题

    oracle中的tz_offset是用来返回给定时区与标准时区(UTC universal of time Coordinate 通用时间坐标)的偏移量,其参数可以是: 1.一个合法的时区名 2.一个 ...

  3. date new 转换时区_Pandas 时间序列 时区控制

    处理时区本地化导致的混淆时间本地化时不存在的时间时区序列操作 利用 pytz 与 datetuil 或标准库 datetime.timezone 对象,pandas 能以多种方式处理不同时区的时间戳. ...

  4. calendar类_带有时区的字符怎样转换为时间及Java 8中日期 与 Calendar 转换

    概述 Java 8 日期,时间常用操作及格式化. 重点怎么把时间戳转换为带有时区的时间字符串? 带有时区的字符串怎样转换为时间? Java 8中时间,日期 与Date, Calendar 怎样互转? ...

  5. linux连接建立的时间,用timedatectl在Linux中检查当前时区及更改时区(创建符号链接来更改时区)...

    本文介绍如何在Linux操作系统中设置或更改时区的方法,可以使用timedatectl,包括通过创建符号链接来更改时区. 前言 时区是具有相同标准时间的地理区域,通常,时区是在操作系统的安装过程中设置 ...

  6. linux系统时间函数,Linux时间时区详解与常用时间函数

    时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. ...

  7. oracle关于时区,关于oracle时区

    关于oracle时区[@more@] 商业和数据库很多时候必须跨时区工作,从9i开始,oracle环境开始有了时区意识,通过指定数据库的时区和使用TIMESTAMP WITH TIME ZONE和TI ...

  8. ubuntu修改系统时区和jvm时区

    比喻我希望服务器是西太平洋时间 tzselect 在弹出框依次选择 Pacific Ocean > US ... cp /usr/share/zoneinfo/America/Los_Angel ...

  9. python时区运算,时区,时间戳,夏令时讲解

    目录 统一概念 标准时间 时区 时间戳 字符串表示 Python中的时间处理 - Arrow 为什么使用Arrow? 功能 快速入门 安装 用法示例 实例代码 参考 其他语言处理方式参考: 外链 统一 ...

最新文章

  1. java中事务的介绍
  2. mysql知识总结体会博客_可能是全网最好的MySQL重要知识点/面试题总结||CSDN博客精选...
  3. C# 多线程之Thread类
  4. WebStorm ES6 语法支持设置
  5. leetcode 1338. Reduce Array Size to The Half | 1338. 数组大小减半(Java)
  6. 时序竞态(竞态条件)
  7. 记录搭建Odoo框架
  8. 前世今生:蚂蚁金服自研数据库OceanBase的道路与思考
  9. 找礼物(find)(模拟)
  10. 32位java jre_JRE8 32位|JRE 8 32位下载 Update 131官方版 - 121下载站
  11. unordered_map 简介
  12. MySQL table 添加_「primarykey」MySQL中为table添加primary key的两种方法 - seo实验室
  13. Mybatis 拦截器 说明和使用 (一)
  14. obs studio 开源直播软件 简介
  15. (XWZ)的python学习笔记Ⅳ——错误、调试和测试
  16. excel合并两列内容_Python实战:合并 Excel 表格
  17. 【Python05】Python转义字符
  18. Pixel 5 root 详细过程
  19. 关于imac等苹果主机重装系统 恢复出厂设置
  20. 陪外公看花鼓戏,回忆经典

热门文章

  1. 从零开始学WEB前端——CSS基础
  2. 国外开放课程及一些国外大学的网址
  3. 对于AI 既有期待也要思考
  4. 给 Java 初学者的学习路线建议
  5. windwos服务器网站504,打开网站出现504 gateway time-out的原因及解决方法
  6. matlab spline边界约束,三阶样条插值(一阶导数边界条件) matlab程序
  7. HDU 6441 Find Integer(数论)
  8. Android 使用ADB命令向上滑动解锁
  9. 浅析分布式数据库同步技术理论
  10. VC++6.0显示此程序存在兼容问题解决办法