我想从textview1
中显示的小时减去textview2
中显示的小时数。我可以通过按下按钮
textview
中设置小时
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String sdf = new SimpleDateFormat("HH:mm", Locale.US).format(new Date());
textView.setText(sdf);
button1.setVisibility(View.GONE);
button2.setVisibility(View.VISIBLE);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String sdf = new SimpleDateFormat("HH:mm", Locale.US).format(new Date());
textView2.setText(sdf);
button1.setVisibility(View.VISIBLE);
button2.setVisibility(View.GONE);
现在点击button2
后我还想减去小时数并在textview3
中设置减法结果。我试图获取TextViews值并将其放入字符串,但我想这不是正确的方法。如果你们能告诉我如何做到这一点,请。
答案 0 :(得分:1)
我建议使用新的Java 8(和9)库。
为了便于说明,请参阅下面的方法,这样做非常简单。您可以出于正确的目的构建正确的DateTimeFormatter
,但我会使用标准ISO_TIME
进行说明。
public static LocalTime subtract2Hours(String timeString) {
return LocalTime.parse(timeString, DateTimeFormatter.ISO_TIME).minusHours(2);
}
您可以使用LocalTime
将String
格式化为LocalTime.format(DateTimeFormatter)
,其中DateTimeFormatter.ISO_TIME
就是一个示例。然后简单地提供String
。
如果您要在一个步骤中执行类型转换,则可以更改方法签名。但是如果你只打算使用它一次,那么你可以使用你的IDE将它们整合到一个长链中。