当前位置: 首页 > 知识库问答 >
问题:

Android Studio -通过在设定时间上增加小时来计算完成时间

宦子琪
2023-03-14

嗨,我想知道是否有任何java代码可以根据给定的时间加上一定的小时数来计算估计的完成时间。

例如...

'dateButton=(Button)findViewById(R.id.angry_btn);日期按钮。setOnClickListener(新视图。OnClickListener(){

        @Override
        public void onClick(View v) {

            LocalDateTime currentTime = LocalDateTime.now(ZoneId.of("UTC"));
            Instant instant = currentTime.toInstant(ZoneOffset.UTC);
            Date currentDate = Date.from(instant);
            dateButton.setText("Current Date = " + currentDate);


            LocalDateTime nextTime = currentTime.plusHours(12);
            Instant instant2 = nextTime.toInstant(ZoneOffset.UTC);
            Date expiryDate = Date.from(instant2);
            TextView endtime = (TextView)findViewById(R.id.endtimetextView);
            endtime.setText((CharSequence) expiryDate);
        }
    });'

用户单击一个名为start的按钮,该按钮捕获当前日期和时间,添加用户在文本框中输入的持续时间,例如12小时,然后计算结束时间并显示在下面的textview中。

这不起作用,也不允许我在我的设备上运行,因为目标SDK太高了。

任何帮助都是巨大的。

谢谢!

共有1个答案

夏侯英纵
2023-03-14

不要将旧的旧版日期时间类(如 java.util.Date)与 java.time 类混合使用。java.time 类完全取代了旧版类。

当试图表示时区中的实际时刻时,不要使用< code>LocalDateTime。< code>Local…类既没有相对于UTC的偏移量概念,也没有时区概念。

Instant类表示UTC时间线中分辨率为纳秒的时刻。

Instant instant = Instant.now() ; 

再加上十二个小时。

Instant later = instant.plusHours( 12 ) ;

通过某个特定地区时区的镜头来观察这一时刻。

ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;
ZonedDateTime zdt = later.atZone( z ) ;

要使用标准ISO 8601格式生成表示此值的字符串,请调用toString。对于其他格式,请在Stack Overflow中搜索DateTimeForcat,因为这已经介绍过很多次了。

旧的Android缺少java.time类。参见ThreeTen-Backport和ThreeTenABP项目。

 类似资料:
  • 我使用最短剩余时间优先算法(SRTF)来计算流程的平均等待时间和周转时间。 我想以如下所示的表格格式打印结果。 这里AT=到达时间,TT=周转时间,WT=等待时间。但是由于过程3和4的完成时间不可能,出现了一些错误。这是我的代码: 我犯了什么错误?请纠正我。

  • 问题内容: 我有两个时间值。一个用于上次登录时间,一个用于当前登录时间。我必须将以前的登录时间增加一个小时。我使用了日期格式hh:mm:ss。这是我的代码段。 因此,除了上面提到的if条件之外,我还必须在previous_time上增加一个小时,然后执行if条件。如何实现呢? 问题答案:

  • 问题内容: MySQL中此查询的有效语法是什么? 注意:start_time是课程表的字段 问题答案: 有关其他日期/时间操作,请参见日期和时间功能。

  • 我正试图在RoR上创建一个计算时间的应用程序。 当您按下开始按钮时,它会拉Time.now,然后,当您按下停止时,它会再次拉Time.now,然后计算两者之间的时间量。然后它会通过to_i将给定的秒转换为整数,然后将整数秒计算为小时:分钟:秒 然而,我的代码出了点问题,它不停地抛出一个又一个错误。 当前顺序为 nil:NilClass 的“未定义方法 '-'”

  • 我想计算Java中两小时(HH:mm:ss)之间的时间差(持续时间)。在这里,我读了几个关于这个主题的主题,但我的问题有点不同。 我也不能使用。 示例: ode: 结果:

  • 我有一堆脚本需要很长时间才能完成。其中一些可能需要20分钟。 有一个执行这些PHP脚本的Bash脚本。当我通过CLI调用这个Bash脚本作为根时,所有的PHP脚本都没有任何问题地完成了。但是当我通过浏览器调用带有PHP exec()函数的Bash脚本时,脚本在7/8分钟后突然停止,没有抛出任何错误。 当通过Apache/PHP执行时,进程或脚本可以运行的时间是否有一定的限制? 我试过: 最后两个尝