Android:如何使用本地移动配置格式化日期和使用2位数的年份?

时间:2016-10-01 13:22:53

标签: android datetime

目前,我将日期格式化为:

DateFormat timeFormat = android.text.format.DateFormat.getDateFormat(
            MyApplication.getInstance().getApplicationContext());
String dateFormatted = timeFormat.format(dateTime.toDate());

结果是例如:" 23-07-2016" (适用于法国手机);或" 16-07-23" (适用于加拿大手机)等。

在所有情况下,我希望年份格式化为2位数: " 23-07-2016"将成为" 23-07-16" " 16-07-23"会保持不变 ...

Ps:有关我使用Yoda Date Time库的信息。

请问怎么做?

2 个答案:

答案 0 :(得分:0)

尝试使用SimpleDateFormat,例如:

long date = <your UTC time in milliseconds>;
SimpleDateFormat formatter = new SimpleDateFormat ("d-MM-yyyy");
String s = formatter.format (date);

有关详细信息,请参阅API spec

如果通过&#34; android移动格式&#34;你的意思是用户在android设置中选择的日期格式,你可以用

获得这个值
android.text.format.DateFormat.getDateFormat(context)
您在示例代码中显示的

。之后,您可能需要解析它并用2位数年份模式替换4位数年份模式,并使用上面显示的SimpleDateFormat完成。

答案 1 :(得分:0)

好的,我找到了一个很好的解决方案。这是一种直接修改原始模式的解决方法:

if(transporters.length < 0 && harvesters.length > 2) {
var newName = Game.spawns['SpawnZone'].createCreep([WORK,CARRY,MOVE], undefined, {role: 'transporter'});
console.log('Spawning new Transporter: ' + newName);
}

谢谢你们