9

我正在开发简单的应用程序来以不同的格式显示时间。为了显示我使用此 ISO 代码显示 ISO 国家代码的时间。我可以更改该 ISO 国家/地区格式的时间吗?

我写的代码如下

TelephonyManager tMgr = 
    (TelephonyManager)getApplicationContext().getSystemService(
        Context.TELEPHONY_SERVICE);

String iso = tMgr.getNetworkCountryIso();
Log.v("Device iso", "=======>" + iso);
String mbNo = tMgr.getLine1Number();
Log.v("mbNo", "=======>" + mbNo);

在这里,我得到了美国的 iso。我可以以美国时间格式显示当前系统时间格式吗?

我使用 Date 类来显示时间如下

DateFormat df = DateFormat.getTimeInstance();
systime = df.format(new Date());

它以 HH:MM:SS AM/PM 格式显示时间。我想将上述时间显示为美国格式。

如何以美国或任何其他格式显示时间?

4

3 回答 3

4

在你的情况下,我认为你可以使用

Date systemDate = Calendar.getInstance().getTime(); // the current system time
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT, Locale.US);
Date myDate = df.format(systemDate);

或者使用自定义格式

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date myDate = sdf.format(systemDate);

如果你有一个字符串使用 parse

Date myDate = sdf.parse("29/04/1980 12:30:24");
于 2011-07-06T09:42:04.217 回答
1

DateFormat 有一个可以初始化本地化格式的静态方法。

于 2011-06-29T08:09:38.840 回答
0

我相信您需要为美国格式创建自己的方法。尝试创建一个类并使其超类成为一个DataFormat类,然后简单地添加您的方法。

于 2011-07-04T05:01:03.903 回答