『壹』 搞清編程中常見的CST、GMT、UTC時間問題
看一下java的當前時間:
在瀏覽器上輸出javascript的當前時間:
對比一下,發現java的顯示用了CST時間,javascprit用了GMT時間,那麼二者有什麼區別呢
GMT(Greenwich Mean Time)代表格林尼治標准時間,這個大家普通都知道,
而CST卻同時可以代表如下 4 個不同的時區,與GMT時間的關系如下:
有時還會看到 2020-09-25T 05:35:00.968 Z 這種時間,其實這種時間格式就是一個標准時間(其中T是分隔符,Z表示這個時間是標准時間),如果轉化為當地時間(北京),要按照時區劃分+8小時。
『貳』 C#中怎麼實現本地時間與UTC時間的相互轉換
時間戳就是如1377216000000 這種格式,在mysql資料庫中會經常用到把時間轉換成時間戳或把時間戳轉換成日期格式了,下面是時間戳操作轉換方法:
一、原理
時間戳的原理是把時間格式轉為十進制格式,這樣就方便時間的計算
如: 2013年08月23日 轉化後是 1377216000000
二、步驟
1、創建 DateUtilsl類。
代碼如下:
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
/*
* @author Msquirrel
*/
public class DateUtils {
privateSimpleDateFormat sf = null;
/*獲取系統時間 格式為:"yyyy/MM/dd "*/
public static String getCurrentDate() {
Date d = newDate();
sf = newSimpleDateFormat("yyyy年MM月dd日");
returnsf.format(d);
}
/*時間戳轉換成字元竄*/
public static String getDateToString(long time) {
Date d = newDate(time);
sf = newSimpleDateFormat("yyyy年MM月dd日");
returnsf.format(d);
}
/*將字元串轉為時間戳*/
public static long getStringToDate(String time) {
sdf = newSimpleDateFormat("yyyy年MM月dd日");
Date date = newDate();
try{
date = sdf.parse(time);
} catch(ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
returndate.getTime();
}
2、在對應使用的地方調用。
代碼如下:
DateUtils.getCurrentDate(); //獲取系統當前時間
DateUtils.getDateToString(時間戳); //時間戳轉為時間格式
DateUtils.getStringToDate("時間格式");//時間格式轉為時間戳.
『叄』 在java裡面,如何得到UTC時間, 時間格式為:Tue Oct 12 00:00:00 UTC 0800 2010
Calendar gc = GregorianCalendar.getInstance();
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之後調用cal.get(int x)或cal.getTimeInMillis()方法所取得的時間即是UTC標准時間。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));
贈送其它時間方法,總有一款適合您
public static void main(String[] args) {
SimpleDateFormat foo = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("foo:"+foo.format(new Date()));
Calendar gc = GregorianCalendar.getInstance();
System.out.println("gc.getTime():"+gc.getTime());
System.out.println("gc.getTimeInMillis():"+new Date(gc.getTimeInMillis()));
//當前系統默認時區的時間:
Calendar calendar=new GregorianCalendar();
System.out.print("時區:"+calendar.getTimeZone().getID()+" ");
System.out.println("時間:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
//美國洛杉磯時區
TimeZone tz=TimeZone.getTimeZone("America/Los_Angeles");
//時區轉換
calendar.setTimeZone(tz);
System.out.print("時區:"+calendar.getTimeZone().getID()+" ");
System.out.println("時間:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
Date time=new Date();
//1、取得本地時間:
java.util.Calendar cal = java.util.Calendar.getInstance();
//2、取得時間偏移量:
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
//3、取得夏令時差:
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
//4、從本地時間里扣除這些差量,即可以取得UTC時間:
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之後調用cal.get(int x)或cal.getTimeInMillis()方法所取得的時間即是UTC標准時間。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));
Calendar calendar1 = Calendar.getInstance();
TimeZone tztz = TimeZone.getTimeZone("GMT");
calendar1.setTimeZone(tztz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeInMillis());
}
運算結果是Tue Oct 19 16:54:57 CST 2010 符合你的要求
只是以毫秒來算的
『肆』 在java裡面,如何得到UTC時間, 時間格式為:Tue Oct 12 00:00:00 UTC 0800 2010
public class StringToDate {
public static void main(String []args){
String myString="2011-09-18 11:20:30";
Date myDate=null;
DateFormat df = DateFormat.getDateInstance();
//設置時間格式
SimpleDateFormat myFormDate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
myDate = df.parse(myString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(myDate);
}
}
結果:Sun Sep 18 00:00:00 CST 2011
『伍』 JAVA UTC時間格式轉換
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss);
sdf.format(new Data());
『陸』 關於時間換算的JAVA題目
因為題目要求是輸入0到2359之間的數 並沒有指出十位和個位組合數一定是分鍾小於60的形式 所以要多考慮 代 碼如下
import java.util.Scanner;
class A{
public static void main(String args[]){
Scanner sd=new Scanner(System.in);
int BJT;
BJT=sd.nextInt();
int y=BJT-(int)(BJT/100)*100;
if(BJT>=0&&BJT<=60){
System.out.println(BJT+1600);
}else if(BJT<=99){
System.out.println("輸入有誤");
}if(BJT>99&&BJT<800){
if(y>=0&&y<=60){
System.out.println(BJT+1600);
}else System.out.println("輸入有誤");
}
else if(BJT>=800&&BJT<1800){
if(y>=0&&y<=60){
System.out.println("0"+(BJT-800));
}else System.out.println("輸入有誤");
}else if(BJT>=1800&&BJT<=2359){
if(y>=0&&y<=60){
System.out.println(BJT-800);
}else System.out.println("輸入有誤");
}
}
}
『柒』 UTC時間
UTC是協調世界時(Universal Time Coordinated)英文縮寫,是由國際無線電咨詢委員會規定和推薦,並由國際時間局(BIH)負責保持的以秒為基礎的時間標度。UTC相當於本初子午線(即經度0度)上的平均太陽時,過去曾用格林威治平均時(GMT)來表示.北京時間比UTC時間早8小時,以1999年1月1日0000UTC為例,UTC時間是零點,北京時間為1999年1月1日早上8點整。
整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通信場合,為了統一起見,使用一個統一的時間,稱為通用協調時(UTC, Universal Time Coordinated)。UTC與格林尼治平均時(GMT, Greenwich Mean Time)一樣,都與英國倫敦的本地時相同。
『捌』 java utc時間轉本地時間
JAVA中將UTC時間轉換為本地時間的方法,其他的時區轉換與此類似。
public static String utc2Local(String utcTime, String utcTimePatten,
String localTimePatten) {
SimpleDateFormat utcFormater = new SimpleDateFormat(utcTimePatten);
utcFormater.setTimeZone(TimeZone.getTimeZone("UTC"));//時區定義並進行時間獲取
Date gpsUTCDate = null;
try {
gpsUTCDate = utcFormater.parse(utcTime);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat localFormater = new SimpleDateFormat(localTimePatten);
localFormater.setTimeZone(TimeZone.getDefault());
String localTime = localFormater.format(gpsUTCDate.getTime());
return localTime;
}
『玖』 java的date怎麼轉換成utc
使用 java.text.SimpleDateFormat指定格式
~~~~~~~~~~~~~~