为了账号安全,请及时绑定邮箱和手机立即绑定

格式简单日期使用字符串格式化

格式简单日期使用字符串格式化

繁花不似锦 2022-09-14 16:42:14
所以我有这个代码...SimpleDateFormat timeFormatter = new SimpleDateFormat("HH:minutes");poaTimeDataText.setText(timeFormatter.format(getIntent().getLongExtra(                ShiftLogsFragment.EXTRA_POA_TIME, 0)));现在,我希望它显示为 2 小时 40 分钟,而不是显示例如 02:40 分钟。但是,我已经尝试过,将模式更改为但编译器不喜欢这样。如何获得所需的结果?"HH hours mm minutes"编辑:如果它占单数或复数,如小时或小时,分钟(如果0或1)或分钟(如果2或更多)会很好
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

创建一个 String 变量,并像这样将字符串分配给它


String myString = timeFormatter.format(getIntent().getLongExtra(ShiftLogsFragment.EXTRA_POA_TIME, 0))

然后像这样拆分字符串


String[] separated = myString.split(":");

现在,您只有每个变量


separated[0]; // this will contain "hours"

separated[1]; // this will contain "minutes"

定义两个变量


String hours = "";

String minutes = "";

做一些测试


if (separated[0].equals("0") || separated[0].equals("1")) {

   hours = "hour";

} else {

   hours = "hours";

}


if (separated[1].equals("0") || separated[1].equals("1")) {

   minutes = "minute";

} else {

   minutes = "minutes";

}

最后将此字符串设置为文本查看如下所示


poaTimeDataText.setText(separated[0] + hours + separated[1] + minutes);


查看完整回答
反对 回复 2022-09-14
?
白衣非少年

TA贡献1155条经验 获得超0个赞

我建议使用.这将为您提供更大的翻译灵活性。strings.xmlSimpleDateFormat


首先,将其添加到您的 .strings.xml


<string name="hours">%1$s Hours %2$s Minutes</string>

现在,当您获取此内容时,可以插入值。String


Long hours = 3;

Long minutes = 55;


SimpleDateFormat hourFormatter = new SimpleDateFormat("HH");

SimpleDateFormat minuteFormatter = new SimpleDateFormat("mm");


String text = getString(R.string.hours, 

      hourFormattter.format(hours), 

      minuteFormatter.format(minutes)); // 03 Hours 55 Minutes


poaTimeDataText.setText(text);  

将来,如果您决定添加翻译,更改措辞,则可以添加更多内容,而不是更新此代码。strings.xml


查看完整回答
反对 回复 2022-09-14
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信