1. 程式人生 > >SimpleDateFormat 使用TimeZone

SimpleDateFormat 使用TimeZone

下面用一段小程式來說明:

 public static void main( String[] args ) {

        Date date = new Date( 1500617358624L ); // 2017-7-21 14:09:18
        System.out.println( "date:" + date );

        String dateStr = "2017-7-21 14:09:18";

        SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
        System.out
.println( "SimpleDateFormat 類的預設時區:" + dateFormat.getTimeZone().getID() ); dateFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) ); try { // **對於已經設定為GMT時間標準的dateFormat來說,一切需要他轉換的字串日期都是GMT標準時間** // 轉換後返回的Date由於預設遵守系統預設時區,所以轉換給Date的日期需要+8(例如北京標準時區),也就是時區與標準不同導致的時差。
Date dateTmp = dateFormat.parse( dateStr ); System.out.println( dateTmp ); } catch ( Exception e ) { e.printStackTrace(); } // Date還是按系統預設時區,而format格式化處來的字串是GMT,所以要-8。 String dateStrTmp = dateFormat.format( date ); System.out
.println( dateStrTmp ); }

程式執行結果:

date:Fri Jul 21 14:09:18 CST 2017
SimpleDateFormat 類的預設時區:Asia/Shanghai
Fri Jul 21 22:09:18 CST 2017
2017-07-21 06:09:18

相關推薦

SimpleDateFormat 使用TimeZone

下面用一段小程式來說明: public static void main( String[] args ) { Date date = new Date( 1500617358624L ); // 2017-7-21 14:09:18

simpleDateFormatTimeZone

simpleDateFormat用法 public static String toLongTimeString(Date dt){ SimpleDateFormat myFmt=new SimpleDateFormat("HH mm

TimeZone以及時區有關的操作Date/Calendar/SimpleDateFormat

TimeZone 1. System.getProperty("user.timezone")    System.setProperty("user.timezone","GMT+8") 2. TimeZone.getDefault().getID()          

Java時區處理之Date,Calendar,TimeZone,SimpleDateFormat

一、概述 1、問題描述       使用Java處理時間時,我們可能會經常發現時間不對,比如相差8個小時等等,其真實原因便是TimeZone。只有正確合理的運用TimeZone,才能保證系統時間無論何時都是準確的。由於我在外企工作,伺服器在美國,美國也有很多時區,經常會碰到向處於不同時區的伺服器發請求時需

Calendar TimeZone SimpleDateFormat

關於Calendar類的使用可參考:Java Calendar類的使用總結 獲取日曆(Calendar):java.util.C

Warning: date(): It is not safe to rely on the system's timezone settings.

bsp ron notice zone asi 警告 family one str PHP調試的時候出現了警告: It is not safe to rely on the system解決方法,其實就是時區設置不正確造成的,本文提供了3種方法來解決這個問題。 實際上,

data,simpledateformat,和calendar

方法 pro add 取代 simple oid prot 格式 edate calendar:protected ..其他包中的類不可以訪問calendar a = calendar.getInstance();獲取當前時間,輸出值一堆,看不懂c.get(calendar

Java之StringBuffer,StringBuilder,Math,Date,SimpleDateFormat,UUID,File

替換 mem end 序列 包含 類型 允許 ges implement java.lang 類 StringBuffer java.lang.Object java.lang.StringBuffer 所有已實現的接口:Serializab

SimpleDateFormat 中的yyyy-MM-dd HH:mm:ss.SSS說明

毫秒 edate date 混淆 sim 轉換 轉換的格式 format mat SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 轉換的格式:yyyy是完整的西元年,MM是月份,dd是日期,

日期類 Data、Calendar、SimpleDateFormat

初始 日期 分隔 hid 格式化 img simple none system Date類 構造函數 Date() // 空參      Date(long msec) // 用毫秒值初始化日期對象的值 方法  long getTime() // 得

SimpleDateFormat線程不安全及解決的方法

ans plain tro ng- posit args source ack 解決 一. 為什麽SimpleDateFormat不是線程安全的? Java源代碼例如以下: /** * Date formats are not synchronized. *

lumen下設置timezone

文件 time env turn cnblogs bsp urn nbsp shanghai 還是加個全局中間件 public function handle($request, Closure $next) { // ...

Java多線程:SimpleDateFormat

-m int stringbu bsp main tro ascii rdate [] 一、SimpleDateFormat的線程安全問題   為什麽SimpleDateFormat是線程不安全的?   下面通過一個案例代碼來說明 public c

Java多線程(三)SimpleDateFormat

spa bsp sdf java多線程 ext add println turn static 多線程報錯:java.lang.NumberFormatException: multiple points SimpleDateFormat是非線程安全的,在多線程情況下會有

Java SimpleDateFormat 中英文時間格式化轉換

這樣的 string類 pattern enter col english one 表示 匹配 SimpleDateFormat是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化(日期 -> 文本)、解析(文本 -> 日期)和規範化。

ThreadLocal解決SimpleDateFormat多線程安全問題中遇到的困惑

檢查 initial hashcode n) lan ext 線程安全 args [] 測試代碼: public class Main { public static void main(String[] args) { for (int

java Date日期類和SimpleDateFormat日期類格式

常用 tostring 靈活 是否 dem cep sta stat pre ~Date表示特定的時間,精確到毫秒~構造方法:public Date()//構造Date對象並初始化為當前系統的時間public Date(long date) //1970-1-1 0:

SimpleDateFormat高並發下異常java.lang.NumberFormatException: For input string: ""

sub throw gets test instant 銷毀 actor 判斷 local 1. 原因 SimpleDateFormat(下面簡稱sdf)類內部有一個Calendar對象引用,它用來儲存和這個sdf相關的日期信息,例如sdf.parse(dateSt

java中將SimpleDateFormat類型轉換成Date類型

test cst for orm exception 結果 cat sun java try {String dateString = "2009-08-02 13:43:00";DateFormat df = SimpleDateFormat("yyyy-MM-dd HH

(轉)關於SimpleDateFormat安全的時間格式化線程安全問題

簡單 性能提升 calendar類 def 深入學習 日期 創建 它的 PE 想必大家對SimpleDateFormat並不陌生。SimpleDateFormat 是 Java 中一個非常常用的類,該類用來對日期字符串進行解析和格式化輸出,但如果使用不小心會導致非常微妙和難