DateIntervalFormat.GetInstance 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| GetInstance(String, Locale, DateIntervalInfo) |
從骨架、DateIntervalInfo 和給定的位置建立一個 DateIntervalFormat。 |
| GetInstance(String, ULocale, DateIntervalInfo) |
從骨架、DateIntervalInfo 和給定的位置建立一個 DateIntervalFormat。 |
| GetInstance(String, Locale) |
從骨架和指定地點構建一個DateIntervalFormat。 |
| GetInstance(String) |
從骨架和預設 |
| GetInstance(String, DateIntervalInfo) |
從骨架 DateIntervalInfo 和預設 |
| GetInstance(String, ULocale) |
從骨架和指定地點構建一個DateIntervalFormat。 |
GetInstance(String, Locale, DateIntervalInfo)
從骨架、DateIntervalInfo 和給定的位置建立一個 DateIntervalFormat。
[Android.Runtime.Register("getInstance", "(Ljava/lang/String;Ljava/util/Locale;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)]
public static Android.Icu.Text.DateIntervalFormat? GetInstance(string? skeleton, Java.Util.Locale? locale, Android.Icu.Text.DateIntervalInfo? dtitvinf);
[<Android.Runtime.Register("getInstance", "(Ljava/lang/String;Ljava/util/Locale;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)>]
static member GetInstance : string * Java.Util.Locale * Android.Icu.Text.DateIntervalInfo -> Android.Icu.Text.DateIntervalFormat
參數
- skeleton
- String
音程格式所依據的骨架。
- locale
- Locale
給定地點
- dtitvinf
- DateIntervalInfo
將採用 DateIntervalInfo 物件。
傳回
一個日期時間間隔格式化器。
- 屬性
備註
從骨架、DateIntervalInfo 和給定的位置建立一個 DateIntervalFormat。 這是 getInstance(String skeleton, ULocale locale, DateIntervalInfo dtitvinf) 的方便覆寫
範例程式碼:
final Date date[] = {
new GregorianCalendar(2007,9,10,10,10,10).getTime(),
new GregorianCalendar(2007,10,10,10,10,10).getTime(),
new GregorianCalendar(2007,10,10,22,10,10).getTime(),
};
final DateInterval dtitv[] = {
new DateInterval(date[0].getTime(),date[1].getTime()),
new DateInterval(date[1].getTime(),date[2].getTime()),
};
final String [] skeletons = {
DateFormat.YEAR_ABBR_MONTH_DAY,
DateFormat.HOUR24_MINUTE,
};
System.out.printf("%-15s%-35s%-35s%-45s%-35s\n", "Skeleton", "from","to", "Date Interval in en_US", "Date Interval in Ja");
// Create an empty DateIntervalInfo object
DateIntervalInfo dtitvinf = new DateIntervalInfo(ULocale.ENGLISH);
// Set Date Time internal pattern for MONTH, DAY_OF_MONTH, HOUR_OF_DAY
dtitvinf.setIntervalPattern("yMMMd", Calendar.MONTH, "y 'Diff' MMM d --- MMM d");
dtitvinf.setIntervalPattern("Hm", Calendar.HOUR_OF_DAY, "yyyy MMM d HH:mm ~ HH:mm");
// Set fallback interval pattern
dtitvinf.setFallbackIntervalPattern("{0} ~~~ {1}");
// Get the DateIntervalFormat with the custom pattern
for (String skeleton:skeletons){
for (int i=0;i<2;i++) {
System.out.printf("%-15s%-35s%-35s", skeleton,date[i].toString(), date[i+1].toString());
DateIntervalFormat dtitvfmtEn = DateIntervalFormat.getInstance(skeleton,ULocale.ENGLISH,dtitvinf);
DateIntervalFormat dtitvfmtJa = DateIntervalFormat.getInstance(skeleton,ULocale.JAPANESE,dtitvinf);
System.out.printf("%-45s%-35s\n", dtitvfmtEn.format(dtitv[i]),dtitvfmtJa.format(dtitv[i]));
}
}
/** output of the sample code:
*************************************************************************************************************************************************************************
Skeleton from to Date Interval in en_US Date Interval in Ja
yMMMd Wed Oct 10 10:10:10 EDT 2007 Sat Nov 10 10:10:10 EST 2007 2007 Diff Oct 10 --- Nov 10 2007 Diff 10\u6708 10 --- 11\u6708 10
yMMMd Sat Nov 10 10:10:10 EST 2007 Sat Nov 10 22:10:10 EST 2007 Nov 10, 2007 2007\u5e7411\u670810\u65e5
Hm Wed Oct 10 10:10:10 EDT 2007 Sat Nov 10 10:10:10 EST 2007 10/10/2007, 10:10 ~~~ 11/10/2007, 10:10 2007/10/10 10:10 ~~~ 2007/11/10 10:10
Hm Sat Nov 10 10:10:10 EST 2007 Sat Nov 10 22:10:10 EST 2007 2007 Nov 10 10:10 ~ 22:10 2007 11\u6708 10 10:10 ~ 22:10
*************************************************************************************************************************************************************************/
Android 參考資料。android.icu.text.DateIntervalFormat.getInstance
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
GetInstance(String, ULocale, DateIntervalInfo)
從骨架、DateIntervalInfo 和給定的位置建立一個 DateIntervalFormat。
[Android.Runtime.Register("getInstance", "(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)]
public static Android.Icu.Text.DateIntervalFormat? GetInstance(string? skeleton, Android.Icu.Util.ULocale? locale, Android.Icu.Text.DateIntervalInfo? dtitvinf);
[<Android.Runtime.Register("getInstance", "(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)>]
static member GetInstance : string * Android.Icu.Util.ULocale * Android.Icu.Text.DateIntervalInfo -> Android.Icu.Text.DateIntervalFormat
參數
- skeleton
- String
音程格式所依據的骨架。
- locale
- ULocale
給定地點
- dtitvinf
- DateIntervalInfo
將採用 DateIntervalInfo 物件。
傳回
一個日期時間間隔格式化器。
- 屬性
備註
從骨架、DateIntervalInfo 和給定的位置建立一個 DateIntervalFormat。
在此工廠方法中,使用者自行提供日期區間模式資訊,而非使用資源檔案中預先定義的資料。 這種工廠方法適合想要提供自己音程模式的強大用戶。
DateFormat 中有預先定義的骨架,例如 MONTH_DAY、YEAR_MONTH_WEEKDAY_DAY 等。
這些骨架在資源檔案中有預先定義的區間模式。 鼓勵用戶使用這些資訊。 例如:DateIntervalFormat.getInstance(DateFormat.MONTH_DAY, false, loc, itvinf);
DateIntervalInfo 提供區間模式。
鼓勵使用者在 DateIntervalInfo 中設定預設的區間模式,若他們想設定其他區間模式(而非從資源檔案讀取區間模式)。 當找不到最大日曆不同欄位對應的區間模式(若使用者未設定),區間格式會回退到預設的區間模式。 若使用者未提供預設間隔模式,則會回退為「{date0} - {date1}」
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
GetInstance(String, Locale)
從骨架和指定地點構建一個DateIntervalFormat。
[Android.Runtime.Register("getInstance", "(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)]
public static Android.Icu.Text.DateIntervalFormat? GetInstance(string? skeleton, Java.Util.Locale? locale);
[<Android.Runtime.Register("getInstance", "(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)>]
static member GetInstance : string * Java.Util.Locale -> Android.Icu.Text.DateIntervalFormat
參數
- skeleton
- String
音程格式所依據的骨架。
- locale
- Locale
給定地點
傳回
一個日期時間間隔格式化器。
- 屬性
備註
從骨架和指定地點構建一個DateIntervalFormat。 這是對 getInstance(String skeleton, ULocale locale) 的方便覆寫
範例程式碼:
import java.util.Date;
import android.icu.text.DateFormat;
import android.icu.text.DateIntervalFormat;
import android.icu.text.DateIntervalInfo;
import android.icu.util.Calendar;
import android.icu.util.DateInterval;
import android.icu.util.GregorianCalendar;
import android.icu.util.ULocale;
...
final Date date[] = {
new GregorianCalendar(2007,10,10,10,10,10).getTime(),
new GregorianCalendar(2008,10,10,10,10,10).getTime(),
new GregorianCalendar(2008,11,10,10,10,10).getTime(),
new GregorianCalendar(2008,11,10,15,10,10).getTime(),
};
final DateInterval dtitv[] = {
new DateInterval(date[0].getTime(),date[1].getTime()),
new DateInterval(date[1].getTime(),date[2].getTime()),
new DateInterval(date[2].getTime(),date[3].getTime()),
};
final String [] skeletons = {
DateFormat.YEAR_ABBR_MONTH_DAY,
DateFormat.MONTH_DAY,
DateFormat.HOUR_MINUTE,
};
System.out.printf("%-15s%-35s%-35s%-35s%-35s\n", "Skeleton", "from","to","Date Interval in en_US", "Date Interval in Ja");
int i=0;
for (String skeleton:skeletons) {
System.out.printf("%-15s%-35s%-35s", skeleton,date[i].toString(), date[i+1].toString());
DateIntervalFormat dtitvfmtEn = DateIntervalFormat.getInstance(skeleton, ULocale.ENGLISH);
DateIntervalFormat dtitvfmtJa = DateIntervalFormat.getInstance(skeleton, ULocale.JAPANESE);
System.out.printf("%-35s%-35s\n", dtitvfmtEn.format(dtitv[i]),dtitvfmtJa.format(dtitv[i]));
i++;
}
/** output of the sample code:
*********************************************************************************************************************************************************
Skeleton from to Date Interval in en_US Date Interval in Ja
yMMMd Sat Nov 10 10:10:10 EST 2007 Mon Nov 10 10:10:10 EST 2008 Nov 10, 2007 \u2013 Nov 10, 2008 2007\u5e7411\u670810\u65e5\uff5e2008\u5e7411\u670810\u65e5
MMMMd Mon Nov 10 10:10:10 EST 2008 Wed Dec 10 10:10:10 EST 2008 November 10 \u2013 December 10 11\u670810\u65e5\uff5e12\u670810\u65e5
jm Wed Dec 10 10:10:10 EST 2008 Wed Dec 10 15:10:10 EST 2008 10:10 AM \u2013 3:10 PM 10:10\uff5e15:10
*********************************************************************************************************************************************************/
Android 參考資料。android.icu.text.DateIntervalFormat.getInstance
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
GetInstance(String)
從骨架和預設 FORMAT 地點構建一個 DateIntervalFormat。
[Android.Runtime.Register("getInstance", "(Ljava/lang/String;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)]
public static Android.Icu.Text.DateIntervalFormat? GetInstance(string? skeleton);
[<Android.Runtime.Register("getInstance", "(Ljava/lang/String;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)>]
static member GetInstance : string -> Android.Icu.Text.DateIntervalFormat
參數
- skeleton
- String
音程格式所依據的骨架。
傳回
一個日期時間間隔格式化器。
- 屬性
備註
從骨架和預設 FORMAT 地點構建一個 DateIntervalFormat。
這是對 getInstance(String skeleton, ULocale locale) 的方便覆寫,預設 locale 值為 locale FORMAT 。
Java 文件 android.icu.text.DateIntervalFormat.getInstance(java.lang.String)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
GetInstance(String, DateIntervalInfo)
從骨架 DateIntervalInfo 和預設 FORMAT 位置建立一個 DateIntervalFormat。
[Android.Runtime.Register("getInstance", "(Ljava/lang/String;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)]
public static Android.Icu.Text.DateIntervalFormat? GetInstance(string? skeleton, Android.Icu.Text.DateIntervalInfo? dtitvinf);
[<Android.Runtime.Register("getInstance", "(Ljava/lang/String;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)>]
static member GetInstance : string * Android.Icu.Text.DateIntervalInfo -> Android.Icu.Text.DateIntervalFormat
參數
- skeleton
- String
音程格式所依據的骨架。
- dtitvinf
- DateIntervalInfo
將採用 DateIntervalInfo 物件。
傳回
一個日期時間間隔格式化器。
- 屬性
備註
從骨架 DateIntervalInfo 和預設 FORMAT 位置建立一個 DateIntervalFormat。
這是 getInstance(String skeleton, ULocale locale, DateIntervalInfo dtitvinf) 的一個方便覆蓋,預設 locale 值 FORMAT 為 locale。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
GetInstance(String, ULocale)
從骨架和指定地點構建一個DateIntervalFormat。
[Android.Runtime.Register("getInstance", "(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)]
public static Android.Icu.Text.DateIntervalFormat? GetInstance(string? skeleton, Android.Icu.Util.ULocale? locale);
[<Android.Runtime.Register("getInstance", "(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateIntervalFormat;", "", ApiSince=24)>]
static member GetInstance : string * Android.Icu.Util.ULocale -> Android.Icu.Text.DateIntervalFormat
參數
- skeleton
- String
音程格式所依據的骨架。
- locale
- ULocale
給定地點
傳回
一個日期時間間隔格式化器。
- 屬性
備註
從骨架和指定地點構建一個DateIntervalFormat。
在此工廠方法中,日期區間模式資訊是從資源檔案載入。 鼓勵使用者以此方式建立日期區間格式化器,並使用預先定義的骨架巨集。
DateFormat 中有預設的骨架,例如 MONTH_DAY、YEAR_MONTH_WEEKDAY_DAY 等。
這些骨架在資源檔案中有預先定義的區間模式。 鼓勵用戶使用這些資訊。 例如:DateIntervalFormat.getInstance(DateFormat.MONTH_DAY, false, loc);
給定的地點提供音程模式。 例如,對於en_GB,若骨架為YEAR_ABBR_MONTH_WEEKDAY_DAY,即「yMMMEEEd」,則資源檔案中定義的區間模式為:年份的「EEE, d MMM, yy - EEE, d MMM, yyyy」代表年份不同,「EEE, d MMM - EEE, d MMM, yyyy」代表月份不同,「EEE, d - EEE, d MMM, yyyy」代表日期不同,
Java 文件 android.icu.text.DateIntervalFormat.getInstance(java.lang.String, android.icu.util.ULocale)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。