2017-08-07 3 views
-1

上のローカルタイムを取得し、私が試した:アンドロイド

TimeZone.getDefault(); 

私が試した:

Calendar mCalendar = new GregorianCalendar(); 
TimeZone mTimeZone = mCalendar.getTimeZone(); 

は私が試した:

Calendar c = Calendar.getInstance(); 
mTimeZone = c.getTimeZone(); 

をどんなに私がしようとするもの...それは私に与えます0GMTのデフォルト値です。私のアプリはタイムゾーンを取得できないようです(-4またはET、つまり東部の米国時間帯)

奇妙なことは...私の時計は私の電話機に正しい時刻を表示します。 Androidデバイスの設定で「自動タイムゾーンを使用する」がチェックされています。

なぜ私のアプリで現地時間を取得できないのですか?どのようにAndroidクロックはこれを達成することができますが、私はできませんか?

私はオンラインで確認して何も見当たりません。少なくとも時計アプリと同期して、それも私のアプリに表示する時間を受け取る方法はありますか?私のアプリで正しい時間を得る方法はありますか?

+0

の可能性のある重複(https://stackoverflow.com/questions/7672597/how- [アンドロイド携帯からタイムゾーンを取得する方法?] to-get-time-from-android-mobile) –

+0

これは、実稼働でリリースされたアプリ、またはサンドボックス内のテストアプリだけでテストしていますか? –

+0

私のアプリをAndroidスタジオから私の電話にロードしてテストしています。だから、それはアプリストアではなく、デベロッパーモードでのみ... –

答えて

0

あなたが試すことができます。

import java.util.Calendar  
Date currentTime = Calendar.getInstance().getTime(); 

または

String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date()); 

// textView is the TextView view that should display it 
textView.setText(currentDateTimeString);