-
不同时区时间换算_不同时区时间转换
2020-12-20 06:40:34引入依赖org.apache.commonscommons-lang33.9代码如下/*** 格林威治时区与北京时区转换* 场景:输入格式为yyyyMMddHHmmss的格林威治日期字符串,* 输出格式为yyyy-MM-dd HH:mm:ss的北京日期字符串** @param timeStr*...引入依赖
org.apache.commons
commons-lang3
3.9
代码如下
/**
* 格林威治时区与北京时区转换
* 场景:输入格式为yyyyMMddHHmmss的格林威治日期字符串,
* 输出格式为yyyy-MM-dd HH:mm:ss的北京日期字符串
*
* @param timeStr
* @param type
* @return
*/
public static String GMTConverter(String timeStr, String type) {
try {
// 将格式为yyyyMMddHHmmss的格林威治日期字符串转为Date类型
Date date = DateUtils.parseDate(timeStr, new String[]{"yyyyMMddHHmmss"});
String patternTemplate = "yyyy-MM-dd HH:mm:ss";
// 将Date类型转化成格式为yyyy-MM-dd HH:mm:ss的字符串
String dateStr = DateFormatUtils.format(date, patternTemplate);
SimpleDateFormat formatGMT = new SimpleDateFormat(patternTemplate);
// 设置时区为格林威治
formatGMT.setTimeZone(TimeZone.getTimeZone(type));
// parse时会结合操作系统时区,为parse结果+8小时
Date dateParse = formatGMT.parse(dateStr);
SimpleDateFormat formatGMT8 = new SimpleDateFormat(patternTemplate);
String result = formatGMT8.format(dateParse);
return result;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String result = GMTConverter("20200708000000", "GMT");
System.out.println(result);
}
输出结果
-
关于时间不同时区的转换问题
2015-05-27 15:32:58关于对不同时区时间的转换由于要做一个俄罗斯的项目,所以项目中要用到俄罗斯的当地时间,纠结了好久才转换过来。
Date d = new Date();
//首先将获取的当前时间转换为时间字符串
String dd = d.toLocaleString();String format = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format);//GMT+8:00是北京时间的时区
String sourceTimeZone="GMT+8:00";
//GMT+3:00是俄罗斯时间,准确的说是莫斯科时间的时区
String targetTimeZone="GMT+3:00";
//获取传入的时间值
Long time = new Date(sdf.parse(dd).getTime()).getTime();//获取源时区时间相对的GMT时间
LongsourceRelativelyGMT=time-TimeZone.getTimeZone(sourceTimeZone).getRawOffset();
//GMT时间+目标时间时区的偏移量获取目标时间
LongtargetTime=sourceRelativelyGMT+TimeZone.getTimeZone(targetTimeZone).getRawOffset();
Date date= new Date(targetTime);希望对做国外项目的同学有帮助吧。
SimpleDateFormat sdf = new SimpleDateFormat(format); -
Android 根据不同时区,转换时间
2019-04-24 16:28:04/** * 根据不同时区,转换时间 * @param time * @return */ public static Date transformTime(Date date, TimeZone oldZone, TimeZone newZone) { Date finalDate = null; if (date.../** * 根据不同时区,转换时间 * @param time * @return */ public static Date transformTime(Date date, TimeZone oldZone, TimeZone newZone) { Date finalDate = null; if (date != null) { int timeOffset = oldZone.getOffset(date.getTime()) - newZone.getOffset(date.getTime()); finalDate = new Date(date.getTime() - timeOffset); } return finalDate; }
-
Java中不同时区时间的转换
2017-11-01 11:30:47* 时区 时间转换方法:将传入的时间(可能为其他时区)转化成目标时区对应的时间 * @param sourceTime 时间格式必须为:yyyy-MM-dd HH:mm:ss * @param sourceId 入参的时间的时区id 比如:+08:00 * @param .../** * 时区 时间转换方法:将传入的时间(可能为其他时区)转化成目标时区对应的时间 * @param sourceTime 时间格式必须为:yyyy-MM-dd HH:mm:ss * @param sourceId 入参的时间的时区id 比如:+08:00 * @param targetId 要转换成目标时区id 比如:+09:00 * @param reFormat 返回格式 默认:yyyy-MM-dd HH:mm:ss * @return string 转化时区后的时间 */ public static String timeConvert(String sourceTime, String sourceId, String targetId,String reFormat){ //校验入参是否合法 if (null == sourceId || "".equals(sourceId) || null == targetId || "".equals(targetId) || null == sourceTime || "".equals(sourceTime)){ return null; } if(StringUtil.isEmptyString(reFormat)){ reFormat = "yyyy-MM-dd HH:mm:ss"; } //校验 时间格式必须为:yyyy-MM-dd HH:mm:ss String reg = "^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$"; if (!sourceTime.matches(reg)){ return null; } try{ //时间格式 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //根据入参原时区id,获取对应的timezone对象 TimeZone sourceTimeZone = TimeZone.getTimeZone("GMT"+sourceId); //设置SimpleDateFormat时区为原时区(否则是本地默认时区),目的:用来将字符串sourceTime转化成原时区对应的date对象 df.setTimeZone(sourceTimeZone); //将字符串sourceTime转化成原时区对应的date对象 java.util.Date sourceDate = df.parse(sourceTime); //开始转化时区:根据目标时区id设置目标TimeZone TimeZone targetTimeZone = TimeZone.getTimeZone("GMT"+targetId); //设置SimpleDateFormat时区为目标时区(否则是本地默认时区),目的:用来将字符串sourceTime转化成目标时区对应的date对象 df.setTimeZone(targetTimeZone); //得到目标时间字符串 String targetTime = df.format(sourceDate); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date date = sdf.parse(targetTime); sdf = new SimpleDateFormat(reFormat); return sdf.format(date); } catch (ParseException e){ e.printStackTrace(); } return null; }
-
日期时间不同时区转换
2017-02-23 09:50:03有时候会遇到用户跟服务器不在一个时区的情况,需要转换时区 获取用户时区 Function: TZON_GET_USER_TIMEZONE 代码很简单,有兴趣可以看下。 参数也就一个用户名 然后根据 时间日期时区得到时间戳 CALL ... -
不同时区的时间互相转换
2020-04-26 14:52:59<?.../** * @param string $dateTime 时间,如:2020-04-22 10:10:10 ... * @param string $toZone 时间转换为哪个时区的时间 * @param string $format 时间格式,如:Y-m-d H:i:s * 时区选择参考:ht... -
Java不同时区(timezone)之间时间转换
2019-03-31 16:25:47最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间。 一、关于时区的一些... -
不同时区转换时间戳
2019-09-24 01:22:03最近有一个需求是需要的,解释 是这样的 :返回的时间戳是根据你当前时区 转到1970年1月1日 0时0分0秒的 如果你是在另外一个时区要访问另一个时区的数据 传参就需要进行转换(不知道我有没有理解错) 错了 希望 ... -
Java对世界不同时区timezone之间时间转换的处理方法
2020-08-18 19:33:34主要介绍了Java对世界不同时区timezone之间时间转换的处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
time_zone:时区可在不同时区的时间之间提供夏令时转换-源码
2021-02-04 21:12:25时区提供了不同时区之间的夏令时感知转换。 这也是Ruby宝石的端口。 安装 将此添加到应用程序的shard.yml : dependencies : time_zone : github : imdrasil/time_zone 用法 以下代码将获取America / New_York... -
不同时区的转换,返回时间格式(yyyy-MM-dd hh:mm:ss)
2020-09-09 10:27:02//t传入的时间参数,utc传入的时区参数 if (!t) return //格式化传入时间 var time = new Date(t) //转换传入时间为本地时间(默认传入服务器时间为东八区时间) time.setHours(time.getHours() + (parseFloa... -
golang 时间转换 时区转换
2021-01-18 17:10:05第一,当缺少时区信息时,Parse将时间解释为UTC时间,而ParseInLocation将返回值的Location设置为loc;第二,当时间字符串提供了时区偏移量信息时,Parse会尝试去匹配本地时区,而ParseInLocation会去匹配loc。 ... -
日期时间不同时区转换_SAP刘梦_新浪博客
2017-02-21 19:30:15有时候会遇到用户跟服务器不在一个时区的情况,需要转换时区 获取用户时区 Function: TZON_GET_USER_TIMEZONE 代码很简单,有兴趣可以看下。 参数也就一个用户名 然后根据 时间日期时区得到时间戳 CALLFUNCTION... -
不同时区之间,时间的转换?
2010-10-27 22:45:32不同的地方有不同的时区,从而显示的时间是不一样的。而且很多国家在某一段时间还可能会实行夏令时,显示的时间又不一样。为了保证时间的正确性,必须有统一的基线,从而不得不考虑下列时间之间的转换。 a、long ... -
utc时间和不同时区之间的转换程序
2012-04-19 20:51:001 static const int days_per_month_in_leapyear [13] = { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 2 static const int days_per_month_in_commonyear [13] = { 0, 31, 28... -
java 转换_Java时区转换及时间格式
2021-02-12 08:53:55本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。问题描述:向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,... -
Android-获得当前时间-在不同时区获得中国区时间-时间戳与时间转换-时间之间的计算
2020-06-04 12:08:50Android各种时间,时间戳,获取,转换等方法1.获取时间的方法2.什么是时间戳?时间戳与时间的转换方法 1.获取时间的方法 1. 获取当地时间,获取的时间可以设定输出的格式 SimpleDateFormat d_f= new ... -
不同时区,时间表达方式,以及各种语言的时间互相转换
2019-10-02 15:50:32转载于:https://www.cnblogs.com/guangshan/p/4589238.html -
Java –在时区之间转换日期和时间
2020-06-02 20:32:04在本教程中,我们将向您展示几个示例( ZonedDateTime(Java 8) , Date , Calendar和Joda Time ),以在不同时区之间转换日期和时间。 所有示例都将转换日期和时间为 (UTC+8:00) Asia/Singapore - Singapore ... -
东八区转为0时区_Java时区转换及时间格式
2021-01-13 16:17:30本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。问题描述:向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,... -
在python 不同时区之间的差值与转换方法
2020-12-24 06:35:55之前有个程序,里面有个时间部分是按照国内时区,也就是东八区,来写的,程序中定义了北京时间2点到八点...为了计算时区的差值并对以上两行代码的时间进行转换,改为以下: import time,datetime delta = (time.timez -
Java时区转换及时间格式
2014-11-11 22:49:23本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。 问题描述: 向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八... -
不同单位之间python的转换_在python 不同时区之间的差值与转换方法
2021-01-15 03:45:26之前有个程序,里面有个时间部分是按照国内时区,也就是东八区,来写的,程序中定义了北京时间2点到八点进行检查;后面程序在国外机器上,例如说韩国,欧美等,执行的时候发现会有时间上的问题,因为获取的是机器的...
-
构造二叉搜索树(Java实现)
-
自动化测试Python3+Selenium3+Unittest
-
C++代码规范和Doxygen根据注释自动生成手册
-
分步傅里叶法求解非线性薛定谔方程的改进及其数值计算
-
access应用的3个开发实例
-
门电路逻辑功能及测试实验报告.docx
-
MaxScale 实现 MySQL 读写分离与负载均衡
-
克服范式,达成真正的敏捷
-
二极管抽运全固态1.319 μm连续锁模激光器
-
自定义thumb上带文本显示的拖动条Demo.zip
-
Command ‘ifconfig’ not found, but can be installed with: sudo apt install net-tools
-
[(工地散装)java] 判断字符串是否为数字
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
非线性Tavis-Cummings模型的Berry相位
-
我从产品经理的角度对运营的理解
-
优化iOS程序性能的二十五个方法
-
华工信号与系统真题与详解.zip
-
js: 生成4位数字的验证码
-
Java —— 简化多个if-else(枚举enum与switch的配合使用)
-
衍射误差对相位校正效果的影响