導航:首頁 > 編程語言 > javadatetimezone

javadatetimezone

發布時間:2025-10-19 17:05:34

json格式數據 "Time":"\/Date(1341417600000+0800)\/" 時間轉換

1341417600000 是自格林威治標准時間 1970 年 1月 1 日 0:00:00 後經過的時間,以毫秒為單位。0800是時區。
我給你個用毫秒數和時區設置日期的例子。
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class L {
public static void main(String[] args) {
long l=1341417600000l;
TimeZone zone=TimeZone.getTimeZone("GMT+0800");
Calendar c=Calendar.getInstance(zone);
c.setTimeInMillis(l);
Date d=c.getTime();
System.out.println(d);
System.out.println(zone);
}
}

運行結果:
Thu Jul 05 00:00:00 CST 2012
sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]

⑵ java時間轉換 0點被轉化成24點

請使用 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
而不是回答 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");

⑶ java DateFormat類的.setTimeZone(TimeZone zone)怎樣使用

setTimeZone
publicvoidsetTimeZone(TimeZonezone)
為此DateFormat對象的日歷設置時區。

參數:
zone-給定的新時區。

TimeZone

getDefault
()
獲取此主機的默認TimeZone。默認TimeZone的來源可能隨實現的變化而變化。

返回:
默認的TimeZone。
另請參見:
setDefault(java.util.TimeZone)
getTimeZone
(StringID)
獲取給定ID的TimeZone。

參數:
ID-TimeZone的ID,要麼是縮寫(如"PST"),要麼是全名(如"America/Los_Angeles"),要麼是自定義ID(如"GMT-8:00")。注意,對縮寫的支持只是出於JDK1.1.x兼容性的考慮,因此應該使用全名。
返回:
指定的TimeZone,如果給定的ID無法理解,則返回GMT區域。
DateFormatdateFormat=newSimpleDateFormat();
//dateFormat.setTimeZone(TimeZone.getDefault());
dateFormat.setTimeZone(TimeZone.getTimeZone("EET"));
System.out.println(dateFormat.format(newDate()));

⑷ 請教關於linux下java類DateFormat的使用

1:DateDemo1類

[java] view plain
/*
* 取得系統的時間
*/
public class DateDemo1 {
public static void main(String args[]) {
System.out.println(System.currentTimeMillis());

}

輸出為:1311060393171
執行結果會顯示從1970年1月1日開始到取得系統時間為止所經過的毫秒數,例如1115346430703這個數字,但這樣的數字沒有人確切了解它的意 義是什麼,您可以使用Date類別來讓這個數字變的更有意義一些

2:DateDemo2類

[java] view plain
public class DateDemo2 {
@SuppressWarnings("deprecation")
public static void main(String args[]) {
Date date = new Date();

System.out.println("date.toString: " + date.toString());
System.out.println("date: " + date.getDate());
System.out.println("day: " + date.getDay());
System.out.println("hour: " + date.getHours());
System.out.println("minutes: " + date.getMinutes());
System.out.println("month: " + (date.getMonth() + 1));
System.out.println("seconds: " + date.getSeconds());
System.out.println("time: " + date.getTime());
System.out.println("timezone: " + date.getTimezoneOffset());
System.out.println("year: " + (date.getYear() + 1900));

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DATE);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);

System.out.println("----------Calendar-------");
System.out.println("year: " + year);
System.out.println("month: " + month);
System.out.println("day: " + day);
System.out.println("hour: " + hour);
System.out.println("minute: " + minute);
System.out.println("second: " + second);

}
}
用date獲得時間的值,如時、分、秒、月、日、年得方法已經過時,需要改用Calendar的方法來獲取時間的值

輸出結果為:

[java] view plain
date.toString: Tue Jul 19 15:32:42 CST 2011
date: 19
day: 2
hour: 15
minutes: 32
month: 7
seconds: 42
time: 1311060762362
timezone: -480
year: 2011
----------Calendar-------
year: 2011
month: 7
day: 19
hour: 3
minute: 32
second: 42

3:DateDemo3類

[java] view plain
public class DateDemo3 {
public static void main(String args[]) {
Date date = new Date();

/*
* DateFormat會依電腦上的區域設定顯示時間格式,EE表示星期,MM表示月份、dd表示日期,而yyyy是西元,每個字元的設定都各有其意義
* 從Date-->String
*/
DateFormat dateFormat = new SimpleDateFormat("EE-MM-dd-yyyy");
System.out.println(dateFormat.format(date));

DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(format1.format(date));

DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format2.format(date));

/*
* 從String-->Date
*/
String dateStr = "2011-7-19";
try {
Date dateTrans = format1.parse(dateStr);
//System.out.println(dateTrans.toString());
System.out.println(dateTrans.toLocaleString()); //轉換為本地的形式
} catch (ParseException e) {
e.printStackTrace();
}

}
}
使用DateFormat來格式化日期數據,上面部分為從Date-->String,下面的部分為從String-->Date

輸出結果為:

[java] view plain
星期二-07-19-2011
2011-07-19
2011-07-19 15:33:27
2011-7-19 0:00:00

4:DateDemo4類

[java] view plain
public class DateDemo4 {

public static void main(String[] args) {

Date date = new Date();
DateFormat shortFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
DateFormat mediumFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
DateFormat longFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
DateFormat fullFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);

System.out.println(shortFormat.format(date));
System.out.println(mediumFormat.format(date));
System.out.println(longFormat.format(date));
System.out.println(fullFormat.format(date));

}

}

輸出結果為:

[java] view plain
11-7-19 下午3:33
2011-7-19 15:33:54
2011年7月19日 下午03時33分54秒
2011年7月19日 星期二 下午03時33分54秒 CST

5:DateDemo5類

[java] view plain
public class DateDemo5 {
public static void main(String args[]) {
Date date = new Date();

Locale locale = new Locale("en", "US");

DateFormat shortDateFormat = DateFormat.getDateInstance(DateFormat.SHORT, locale);
DateFormat mediumDateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
DateFormat longDateFormat = DateFormat.getDateInstance(DateFormat.LONG, locale);
DateFormat fullDateFormat = DateFormat.getDateInstance(DateFormat.FULL, locale);

System.out.println(shortDateFormat.format(date));
System.out.println(mediumDateFormat.format(date));
System.out.println(longDateFormat.format(date));
System.out.println(fullDateFormat.format(date));

}
}

輸出結果為:

[java] view plain
7/19/11
Jul 19, 2011
July 19, 2011
Tuesday, July 19, 2011

⑸ Java中如何設置Date對象的年月日

包。在這個包中,Java提供了一些實用的方法和數據結構。例如,Java提供日期(Data)類、日歷(Calendar)類來產生和獲取日期及時間,提供隨機數(Random)類產生各種類型的隨機數,還提供了堆棧(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等類來表示相應的數據結構。
圖1.1給出了java.util包的基本層次結構圖。下面我們將具體介紹其中幾個重要的類。
┌java.util.BitSet
│java.util.Calendar
│ └java.util.GregorianCalendar
│java.util.Date
│java.util.Dictionary
│ └java.util.Hashtable
│ └java.util.Properties
│java.util.EventObject
│java.util.ResourceBundle
┌普通類┤ ├java.util.ListResourceBundle
│ │ └java.util.PropertyResourceBundle
│ │java.util.Local
│ │java.util.Observable
│ │java.util.Random
│ │java.util.StringTokenizer
│ │java.util.Vector
│ │ └java.util.Stack
Java.util┤ └java.util.TimeZone
│ └java.util.SimpleTimeZone
│ ┌java.util.Enumeration
├接 口┤java.util.EventListener
│ └java.util.Observer
│ ┌java.util.EmptyStackException
└異常類┤java.util.MissingResourceException
│java.util.NoSuchElementException
└java.util.TooManyListenersException
圖1.1 java.util包的基本層次結構

1.2 日期類Date

Java在日期類中封裝了有關日期和時間的信息,用戶可以通過調用相應的方法來獲取系統時間或設置日期和時間。Date類中有很多方法在JDK1.0公布後已經過時了,在8.3中我們將介紹JDK1.0中新加的用於替代Date的功能的其它類。
在日期類中共定義了六種構造函數。
(1)public Date()
創建的日期類對象的日期時間被設置成創建時刻相對應的日期時間。
例 Date today=new Date();//today被設置成創建時刻相對應的日期時間。
(2)public Date (long date)
long 型的參數date可以通過調用Date類中的static方法parse(String s)來獲得。
例 long l=Date.parse("Mon 6 Jan 1997 13:3:00");
Date day=new Date(l);
//day中時間為1997年 1月6號星期一,13:3:00。
(3)public Date(String s)
按字元串s產生一日期對象。s的格式與方法parse中字元串參數的模式相同。
例 Date day=new Date("Mon 6 Jan 1997 13:3:00");
//day 中時間為1997年1月6號星期一,13:3:00.
(4)public Date(int year,int month,int date)
(5)public Date(int year,int month,int date,int hrs,int min)
(6)public Date(int year,int month,int date,int hrs,int min,int sec)
按給定的參數創建一日期對象。
參數說明:
year的值為:需設定的年份-1900。例如需設定的年份是1997則year的值應為97,即1997-1900的結果。所以Date中可設定的年份最小為1900;
month的值域為0~11,0代表1月,11表代表12月;
date的值域在1~31之間;
hrs的值域在0~23之間。從午夜到次日凌晨1點間hrs=0,從中午到下午1點間hrs=12;
min和sec的值域在0~59之間。
例 Date day=new Date(11,3,4);
//day中的時間為:04-Apr-11 12:00:00 AM
另外,還可以給出不正確的參數。
例 設定時間為1910年2月30日,它將被解釋成3月2日。
Date day=new Date(10,1,30,10,12,34);
System.out.println("Day's date is:"+day);
//列印結果為:Day's date is:Web Mar 02 10:13:34 GMT+08:00 1910
下面我們給出一些Date類中常用方法。
(1)public static long UTC(int year,int month,int date,int hrs. int min,int sec)
該方法將利用給定參數計算UTC值。UTC是一種計時體制,與GMT(格林威治時間)的計時體系略有差別。UTC計時體系是基於原子時鍾的,而GTMT計時體系是基於天文學觀測的。計算中使用的一般為GMT計時體系。
(2)public static long parse(String s)
該方法將字元串s轉換成一個long型的日期。在介紹構造方法Date(long date)時曾使用過這個方法。
字元串s有一定的格式,一般為:
(星期 日 年 時間GMT+時區)
若不註明時區,則為本地時區。
(3)public void setMonth(int month)
(4)public int getMonth()
這兩個方法分別為設定和獲取月份值。
獲取的月份的值域為0~11,0代表1月,11代表12月。
(5)public String toString()
(6)public String toLocalString()
(7)public String toGMTString()
將給定日期對象轉換成不同格式的字元串。它們對應的具體的格式可參看例子8.1。
(8)public int getTimezoneOffset()
該方法用於獲取日期對象的時區偏移量。
例8.1中對上面介紹的Date類中的基本方法進行了具體的應用,並列印了相應的結果。由於使用了一些過時的方法,所以編譯時會有警告信息。另外,由於本例中的時間表示與平台有關,不同的JDK版本對此處理不完全相同,因此不同版本的JDK執行本例的結果可能有細微差異。
例1.1 DateApp.java
import java.lang.System;
import java.util.Date;
public class DateApp{
public static void main(String args[]){
Date today=new Date();
//today中的日期被設成創建時刻的日期和時間,假設創建時刻為1997年3月
//23日17時51分54秒。
System.out.println("Today's date is "+today);
//返回一般的時間表示法,本例中結果為
//Today's date is Fri May 23 17:51:54 1997
System.out.println("Today's date(Internet GMT)is:"
+today.toGMTString());
//返回結果為GMT時間表示法,本例中結果為
//Today's date(Internet GMT)is: 23 May 1997 09:51:54:GMT
System.out.println("Today's date(Locale) is:"
+today.toLocaleString());
//返回結果為本地習慣的時間表示法,結果為
//Today's date(Locale)is:05/23/97 17:51:54
System.out.println("Today's year is: "+today.getYear());
System.out.println("Today's month is: "+(today.getMonth()+1));
System.out.println("Today's date is: "+today.getDate());
//調用Date類中方法,獲取年月日的值。
//下面調用了不同的構造方法來創建Date類的對象。
Date day1=new Date(100,1,23,10,12,34);
System.out.println("Day1's date is: "+day1);
Date day2=new Date("Sat 12 Aug 1996 13:3:00");
System.out.println("Day2's date is: "+day2);
long l= Date.parse("Sat 5 Aug 1996 13:3:00 GMT+0800");
Date day3= new Date(l);
System.out.println("Day3's date(GMT)is: "+day3.toGMTString());
System.out.println("Day3's date(Locale)is: "
+day3.toLocaleString());
System.out.println("Day3's time zone offset is:"
+day3.getTimezoneOffset());
}
}

運行結果(JDK1.3版,與原文不同,原文是JDK1.0版):
E:\java\tutorial\java01>java DateApp
Today's date is Thu Dec 27 17:58:16 CST 2001
Today's date(Internet GMT)is:27 Dec 2001 09:58:16 GMT
Today's date(Locale) is:2001-12-27 17:58:16
Today's year is: 101
Today's month is: 12
Today's date is: 27
Day1's date is: Wed Feb 23 10:12:34 CST 2000
Day2's date is: Fri Aug 12 13:03:00 CST 1996
Day3's date(GMT)is: 5 Aug 1996 05:03:00 GMT
Day3's date(Locale)is: 1996-8-5 13:03:00
Day3's time zone offset is:-480

E:\java\tutorial\java01>

1.3 日歷類Calendar

在早期的JDK版本中,日期(Date)類附有兩大功能:(1)允許用年、月、日、時、分、秒來解釋日期:(2)允許對表示日期的字元串進行格式化和句法分析。在JDK1.1中提供了類Calendar來完成第一種功能,類DateFormat來完成第二項功能。dateFormat是java.text包中的一個類。與Date類有所不同的是,DateFormat類接受用各種語言和不同習慣表示的日期字元串。本節將介紹java.util包中的類Calendar及其它新增加的相關的類。
類Calendar是一個抽象類,它完成日期(Date)類和普通日期表示法(即用一組整型域如YEAR,MONTH,DAY,HOUR表示日期)之間的轉換。
由於所使用的規則不同,不同的日歷系統對同一個日期的解釋有所不同。在JDK1.1中提供了Calendar類一個子類GregorianCalendar??它實現了世界上普遍使用的公歷系統。當然用戶也可以通過繼承Calendar類,並增加所需規則,以實現不同的日歷系統。
第GregorianCalendar繼承了Calendar類。本節將在介紹類GregorianCalendar的同時順帶介紹Calendar類中的相關方法。
類GregorianCalendar提供了七種構造函數:
(1)public GregorianCalendar()
創建的對象中的相關值被設置成指定時區,預設地點的當前時間,即程序運行時所處的時區、地點的當前時間。
(2)public GregorianCalendar(TimeZone zone)
創建的對象中的相關值被設置成指定時區zone,預設地點的當前時間。
(3)public GregorianCalendar(Locale aLocale)
創建的對象中的相關值被設置成預設時區,指定地點aLocale的當前時間。
(4)public GregorianCalendar(TimeZone zone,Local aLocale)
創建的對象中的相關值被設置成指定時區,指定地點的當前時間。
上面使用到的類TimeZone的性質如下:
TimeZone是java.util包中的一個類,其中封裝了有關時區的信息。每一個時區對應一組ID。類TimeZone提供了一些方法完成時區與對應ID兩者之間的轉換。
(Ⅰ)已知某個特定的ID,可以調用方法
public static synchronized TimeZone getTimeZone(String ID)
來獲取對應的時區對象。
例 太平洋時區的ID為PST,用下面的方法可獲取對應於太平洋時區的時區對象:
TimeZone tz=TimeZone.getTimeZone("PST");
調用方法getDefault()可以獲取主機所處時區的對象。
TimeZone tz=TimeZone.getDefault();
(Ⅱ)調用以下方法可以獲取時區的ID
■public static synchronized String[] getavailableIDs(int rawOffset)
根據給定時區偏移值獲取ID數組。同一時區的不同地區的ID可能不同,這是由於不同地區對是否實施夏時制意見不統一而造成的。
例String s

閱讀全文

與javadatetimezone相關的資料

熱點內容
編程苦惱怎麼辦 瀏覽:140
vuejsref動態改變 瀏覽:171
哪些軟體可用於文件解壓 瀏覽:701
農行u盾原始密碼 瀏覽:371
xp如何弄出一個無線網路連接 瀏覽:569
word插入pdf只顯示文件名稱和圖標 瀏覽:150
我想編程一個小軟體怎麼弄 瀏覽:168
如何優化文件讀取數據java 瀏覽:262
java敏捷式開發 瀏覽:800
網頁對齊代碼快捷鍵是什麼 瀏覽:304
tomcatlinux文件目錄 瀏覽:520
三星手機能升級系統嗎 瀏覽:683
linux創建文件夾在哪 瀏覽:623
javadatetimezone 瀏覽:434
cf那些文件沒有用 瀏覽:502
蘋果官方網站的手機質量怎麼樣 瀏覽:801
微信存儲數據的文件叫什麼 瀏覽:94
js腳本不起作用 瀏覽:317
iphone3g怎麼升級 瀏覽:341
deadtrigger2安卓 瀏覽:419

友情鏈接