Java 仅获取当前时间并在android中更新

Java 仅获取当前时间并在android中更新,java,android,time,Java,Android,Time,我只需要以HH:mm格式(如14:20)获取当前时间(无数据),然后每秒钟或每分钟更新一次。我有点理解这个代码,但是有可能把它转换成字符串吗? 我需要在一个单独的公共字符串中传递值“time”。 有解决办法吗? 谢谢 更新:让它与每秒运行一次的服务一起工作。您只需要有最后一个变量SimpleDateFormat final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); 使用以下代码,您可以在任何您想要的地方使用格式获取

我只需要以HH:mm格式(如14:20)获取当前时间(无数据),然后每秒钟或每分钟更新一次。我有点理解这个代码,但是有可能把它转换成字符串吗? 我需要在一个单独的公共字符串中传递值“time”。 有解决办法吗? 谢谢


更新:让它与每秒运行一次的服务一起工作。

您只需要有最后一个变量
SimpleDateFormat

final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
使用以下代码,您可以在任何您想要的地方使用格式获取时间:

String time = dateFormat.format(new Date());

您可以这样做:

private void clock() {
  final Handler hander = new Handler();
  new Thread(new Runnable() {
     @Override
     public void run() {
        try {
           Thread.sleep(1000);
        } catch (InterruptedException e) {
           e.printStackTrace();
        }
        hander.post(new Runnable() {
           @Override
           public void run() {
              getTime();
              clock();
           }
        });
     }
  }).start();
}

void getTime() {
   SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss", Local.getDefault());
   textview.setText(dateFormat.format(new Date()));
}

您可以使用下面的代码获取当前时钟的小时、分钟和秒

final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
String time = dateFormat.format(new Date());

使用liveData和协同程序:

val currentTime=liveData{
while(true){
发出(Calendar.getInstance().time)
kotlinx.coroutines.delay(1000)
}
}

嘿,到目前为止你尝试了什么?使用SimpleDataFormat。它可以一次获取时间,但我需要它像时钟一样工作并自动更新。你可以首先使用此方法获取当前时间。如果你想让某个东西像时钟一样工作,你只需要实现一个无限循环的
线程
sleep(1000)
,时间计数增加1秒。你的答案不会增加太多新的内容,看看这个问题的其他答案。这也是一个五年前的问题。
final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
String time = dateFormat.format(new Date());