Android Setting下修改時間與日期格式的問題???
最近一直在頭疼怎樣在修改Settings-----Date&Time---Choose data format 後通知更新桌面時鐘 AppWidget的日期格式跟著Setting的改變而改變...
想實現的效果就是如下:
原先日期格式是這樣,
當點選修改Settings-----Date&Time---Choose data format,
想動態實現,就有點不知道怎麼解決了,
這個佈局其實是一個TextClock
<TextClock
android:id="@+id/date"
style="@style/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:format12Hour="@string/abbrev_wday_month_day_no_year"
android:format24Hour="@string/abbrev_wday_month_day_no_year"
android:gravity="center"
android:textColor="@color/clock_white" />
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- 字串匹配的鎖定螢幕顯示日期的格式. MM/dd/yyy-->
<string name="abbrev_wday_month_day_no_year">dd-MM-yyyy</string>
<!-- Format for describing the date, for accessibility. -->
<string name="full_wday_month_day_no_year">EEEE, MMMM d</string>
<!-- Default clock style. -->
<string name="default_clock_style">digital</string>
</resources>
第一種解決方法,屬於治標不治本的方法,這種方法是靜態修改abbrev_wday_month_day_no_year的值為想要的日期格式,
比如修改為:<string name="abbrev_wday_month_day_no_year">EE-d-MMM-yyyy</string>
這個有點不靠譜,或者修改為如下格式
日期格式的值的方法有如下:
<string-array name="date_format_values" translatable="false">
<!-- The blank item means to use whatever the locale calls for. -->
<item></item>
<item>MM-dd-yyyy</item>
<item>dd-MM-yyyy</item>
<item>yyyy-MM-dd</item>
<item>EE-MMM-d-yyyy</item>
<item>EE-d-MMM-yyyy</item>
<item>yyyy-MMM-d-EE</item>
</string-array>
老大給的建議讓用TextView代替TextClock,可是自己水平有限重寫的幾次都沒達到理想的效果。。。。
用Textview簡單實現的方法如下:
/**
* 第一步
* 獲取settings中日期的格式
* strTimeFormat的字串是 yyyy-MM-dd
*
* 第二步
* SimpleDateFormat 是一個以國別敏感的方式格式化和分析資料的具體類。
* 它允許格式化 (date -> text)、語法分析 (text -> date)和標準化。
* 根據日期格式顯示不同型別的日期
*
* ***/
ContentResolver cv = this.getContentResolver();
String strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.DATE_FORMAT);
System.out.println("選擇 Normal (2014-12-31)" + strTimeFormat);
SimpleDateFormat dateFormatter = new SimpleDateFormat(strTimeFormat);
time = dateFormatter.format(Calendar.getInstance().getTime());
textView.setText(time);
實現的效果如下:
日期格式時間跟著設定裡面的改變而改變..
網上收到的一些方法有如下,自己是小菜鳥一枚,看了好久還是沒有解決掉這個問題,希望有大神能夠幫助一下...
相關文章
- win10如何修改時間日期格式 調整時間格式和日期格式的方法Win10
- jira修改RoadMap裡的時間格式,硬核日期格式化
- 修改sqlplus中顯示時間日期的格式SQL
- 【JAVA8新的時間與日期 API】- 傳統時間格式化的執行緒安全問題JavaAPI執行緒
- linux 下修改日期和時間Linux
- Java 8 的日期與時間問題解決方案Java
- js時間戳與日期格式的相互轉換JS時間戳
- 日期時間格式化
- Aix 修改日期時間AI
- Linux 日期時間修改Linux
- JavaScript時間日期格式化JavaScript
- JavaScript 時間日期格式轉換JavaScript
- PHP日期格式轉時間戳PHP時間戳
- JavaScript 日期和時間的格式化JavaScript
- C#日期時間格式化C#
- C#日期格式化,時間C#
- MySQL時間戳轉成日期格式MySql時間戳
- 自定義 RMAN 顯示的日期時間格式
- 設定RMAN顯示的日期時間格式
- SQL SERVER日期格式與多國語言問題SQLServer
- RAC中修改系統時間的問題
- 如何修改系統時間格式
- Mac修改系統時間和日期的方法Mac
- JavaScript自定義時間日期格式化JavaScript
- javascript實現的時間日期格式化外掛JavaScript
- js將日期格式的時候轉換成時間搓JS
- Python 日期與時間Python
- 日期格式化時註解@DateTimeFormat無效的問題分析ORM
- Oracle 修改預設日期格式Oracle
- ElementUI日期元件格式化問題UI元件
- 【Android】時間與日期Widget(DatePicker 與 TimePicker)Android
- 時間日期格式化程式碼例項
- javascript時間日期格式化程式碼分析JavaScript
- PHPdate格式化一個本地時間/日期PHP
- 修改nginx原始碼改變訪問日誌的時間格式薦Nginx原始碼
- javascript實現的時間日期格式化程式碼JavaScript
- win7 中 IIS 7 now() 等時間日期函式返回格式問題(不匹配 ACCESS 的 datetime 欄位的格式)Win7函式
- Android 時間戳和日期之間的轉化Android時間戳