格林威治时间转化北京时间以及时间转换格式代码大全

格林威治时间与北京时间的相互转换,后台服务器是格林威治的时间没有处理就丢给我了,

解决吧,网上一搜,发现这个问题在10年,甚至08年就有人提出来并解决了,向前人致敬,

用到了,把有用的总结一下:

》1 08年有个哥们解决的方式是截取字符串转换格式:

     String ts = "2007-10-23T17:15:44.000Z";

     System.out.println("ts = " + ts);

ts = ts.replace("Z", " UTC");

System.out.println("ts = " + ts);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd‘T‘HH:mm:ss.SSS Z");

Date dt = sdf.parse(ts);

TimeZone tz = sdf.getTimeZone();

    Calendar c = sdf.getCalendar();

System.out.println("Display name: " +   tz.getDisplayName());

System.out.println(getString(c));

见:http://devsharp.iteye.com/blog/170001

》2改时区:

  

  public String paserTime(int time){

  System.setProperty("user.timezone", "Asia/Shanghai");

TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");

   TimeZone.setDefault(tz);

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String times = format.format(new Date(time * 1000L));

        System.out.print("日期格式---->" + times);

return times;

  }

见:http://blog.csdn.net/xiaanming/article/details/8558547

》3设置到闰年,时分秒等

见 :http://blog.sina.com.cn/s/blog_7fdd5eb901013iep.html

传六位参数,截取判断。

》4 终于找到工具类了

  

Date nowTime = new Date(); // 要转换的时间
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(nowTime.getTime());

Log.i("OTH","北京时间:" + cal.getTime().toString().substring(0, 19));

cal.add(Calendar.HOUR, -8);
Log.i("OTH","格林威治时间:" + cal.getTime());

》5 有没有封装还好一点的呢?

package com.example.mydemo2012;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

class GTMDateUtil {
/**
* GTM转本地时间
*
* @param GTMDate
* @return
*/
@SuppressWarnings("unused")
public String GTMToLocal(String GTMDate) {
int tIndex = GTMDate.indexOf("T");
String dateTemp = GTMDate.substring(0, tIndex);
String timeTemp = GTMDate.substring(tIndex + 1, GTMDate.length() - 6);
String convertString = dateTemp + " " + timeTemp;

SimpleDateFormat format;
format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
Date result_date;
long result_time = 0;

if (null == GTMDate) {
return GTMDate;
} else {
try {
format.setTimeZone(TimeZone.getTimeZone("GMT00:00"));
result_date = format.parse(convertString);
result_time = result_date.getTime();
format.setTimeZone(TimeZone.getDefault());
return format.format(result_time);
} catch (Exception e) {
e.printStackTrace();
}
}
return GTMDate;
}

/***
* 转成格林威治时间 感觉用不到
*/
public String LocalToGTM(String LocalDate) {
SimpleDateFormat format;
format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
Date result_date;
long result_time = 0;
if (null == LocalDate) {
return LocalDate;
} else {
try {
format.setTimeZone(TimeZone.getDefault());
result_date = format.parse(LocalDate);
result_time = result_date.getTime();
format.setTimeZone(TimeZone.getTimeZone("GMT00:00"));
return format.format(result_time);
} catch (Exception e) {
e.printStackTrace();
}
}
return LocalDate;
}

}

very good!

见:http://blog.csdn.net/sun6223508/article/details/45189841

>获取时间大全,格式转换+闰年。。。。++,

见:http://www.oschina.net/code/snippet_575610_22694

整理好了,下载地址:

  http://download.csdn.net/detail/onebelowzero2012/9374733

欢迎补充,另外c写的 获取格林威治时间的exe文件也打包了。

时间: 2024-10-11 05:32:38

格林威治时间转化北京时间以及时间转换格式代码大全的相关文章

js将UTC时间转化为当地时区时间

我们在进行网站开发的时候有可能会涉及到国外的用户或者用户身在国外,这时就会存在时差问题,比如说我们在中国的时间是08:00,但是此时韩国的时间是09:00,如果在网页上需要进行相关显示的话就会出现问题,那作为一个前端该怎么解决这个问题呢? 前端通过请求获取的时间一般都是时间戳格式,这个时间戳一般就是UTC时间(*UTC:最接近标准时间的一个时间标准),而我们在网页上需要显示的是GMT时间,下面就是根据本地时间获得GMT时间和任意时区的时间函数: 1.将本地时间转化成任意时区的时间(如:通过本地时

回顾上周所学内容及时间转化

面向对象: 对象: 万事万物皆为对象. 特征, 动作或功能放在一起的就是一个对象 对象如何创建的. 在python中对象是通过类来创建的. 类是对对象的描述.统称.约束. class Car: def fly(self): pass 类与对象的关系: 类是类型, 类别. 对事物的描述 对象是个体. 具体的某一个东西或者事物 创建对象: 类名() 实例化. 三大特征: 1. 封装. 将数据或者方法封装在一个类中. 2. 继承. 子类可以自动有用父类中除了私有内容外的所有内容. 包括了抽象方法 3.

iOS时间类型转换和各种数据类型进行转换

这次分享一些数据类型还有时间类型的各种转换方法,有详细注释,话不多说,直接上代码 /** * 时间转换部分 * //从1970年开始到现在经过了多少秒 -(NSString *)getTimeSp { NSString *time; NSDate *fromdate=[NSDate date]; time = [NSString stringWithFormat:@"%f",[fromdate timeIntervalSince1970]]; return time; } //将时间戳

iOS获取网络时间与转换格式

[NSDate date]可以获取系统时间,但是会造成一个问题,用户可以自己修改手机系统时间,所以有时候需要用网络时间而不用系统时间.获取网络标准时间的方法: 1.先在需要的地方实现下面的代码,创建一个URL并且连接 1 NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"]; 2 NSURLRequest *request=[NSURLRequest requestWithURL:url]; 3 NSURLConnection

【Powershell】同步整个域时间跟北京时间一致

最近发现整个域的时间比北京晚了近5分钟,部分域外的应用程序在进行身份验证的时候开始报错: According to Microsoft, The internal clock for servers must be set to within 10 minutes of the domain controller's clock. If the clocks are not synchronized then Kerberos authentication will fail. 考虑到域内的所有

jQuery将时间转化为时间戳或将时间戳转化为时间

下面的这段代码,是可以将时间戳转为时间,或者将时间戳转为时间: <script type="text/javascript"> $.extend({ myTime:{ CurTime: function(){ return Date.parse(new Date())/1000; }, DateToUnix: function(string) { var f = string.split(' ', 2); var d = (f[0] ? f[0] : '').split('

js时间转化

function showDiv(objID){ //将时间转化为时间戳 var str = '2009/1/1'; var ftime = str.replace(/-/g,'/'); var uftime = Date.parse(ftime)/1000; //将当前时间转化为时间戳 var curtime = Math.round(new Date().getTime()/1000.0); //alert(curtime); }

sql 时间转换格式 convert(varchar(10),字段名,转换格式)

convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121)CONVERT为日期转换函数,一般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式. 具体如下:0 | 0 or 100 | mon dd yyyy hh:miAM(或P

C语言获取系统当前时间转化成时间字符串

因为保存的文件须要加上保存的时间,所以须要一个函数来将系统当前时间获取出来,同一时候转换成时间字符串.详细的时间代码例如以下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include <stdio.h> #include <time.h> int getNowTime(char