如何减2小时

时间:2018-01-09 13:04:03

标签: java android date

我想从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值并将其放入字符串,但我想这不是正确的方法。如果你们能告诉我如何做到这一点,请。

1 个答案:

答案 0 :(得分:1)

我建议使用新的Java 8(和9)库。

为了便于说明,请参阅下面的方法,这样做非常简单。您可以出于正确的目的构建正确的DateTimeFormatter,但我会使用标准ISO_TIME进行说明。

public static LocalTime subtract2Hours(String timeString) {
    return LocalTime.parse(timeString, DateTimeFormatter.ISO_TIME).minusHours(2);
}

您可以使用LocalTimeString格式化为LocalTime.format(DateTimeFormatter),其中DateTimeFormatter.ISO_TIME就是一个示例。然后简单地提供String

如果您要在一个步骤中执行类型转换,则可以更改方法签名。但是如果你只打算使用它一次,那么你可以使用你的IDE将它们整合到一个长链中。