如何在Android中使用国家ISO代码获取时间格式?

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格式显示时间。 我想将上述时间显示为美国格式。

我该如何在美国或任何其他格式中显示时间?

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);

如果您有一个字符串,请使用解析

Date myDate = sdf.parse("29/04/1980 12:30:24");

1

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


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接