HarmonyOS如何获取系统时间类似:System.currentTimeMillis()?

HarmonyOS如何获取系统时间类似:System.currentTimeMillis()。

HarmonyOS
2024-09-30 12:14:58
浏览
收藏 0
回答 2
回答 2
按赞同
/
按时间
鱼弦CTO
1

在HarmonyOS中,你可以使用类似于Java中的 ​​System.currentTimeMillis()​​ 方法来获取系统时间。以下是如何实现的两种方法:

### 方法一:使用 ​​System.currentTimeMillis()​

虽然HarmonyOS有一些不同的API,但你仍然可以使用Java的标准方法 ​​System.currentTimeMillis()​​ 来获取当前时间。这是因为HarmonyOS是基于OpenHarmony框架,该框架支持大多数标准Java库。

public class MainAbilitySlice extends AbilitySlice {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        long currentTimeMillis = System.currentTimeMillis();
        Text text = (Text) findComponentById(ResourceTable.Id_text_time);
        text.setText("Current Time in Millis: " + currentTimeMillis);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

### 方法二:使用 ​​ohos.system.DeviceInfo.getDeviceTime()​

HarmonyOS提供了专用的API来获取设备时间,这也可以作为一种选择。请注意,​​DeviceInfo​​ API 可能需要特定的权限,如需要声明 ​​ohos.permission.GET_DEVICE_INFO​​ 权限。

import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Text;
import ohos.system.DeviceInfo;

public class MainAbilitySlice extends AbilitySlice {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        // 获取设备当前时间(以毫秒为单位)
        long currentTimeMillis = DeviceInfo.getDeviceTime();
        Text text = (Text) findComponentById(ResourceTable.Id_text_time);
        text.setText("Current Time in Millis: " + currentTimeMillis);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

### 声明权限

如果你使用的是需要权限的API,比如 ​​DeviceInfo.getDeviceTime​​,你需要在 ​​config.json​​ 中声明相应的权限。

  1. 打开​​entry/src/main/config.json​​ 文件。
  2. 在​​permissions​​ 字段下添加需要的权限。
{
  "module": {
    ...
    "reqPermissions": [
      {
        "name": "ohos.permission.GET_DEVICE_INFO"
      }
    ]
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

### 总结

以上是两种在HarmonyOS中获取当前系统时间的方法。大多数情况下,你可以继续使用标准的Java方法 ​​System.currentTimeMillis()​​。但如果你想使用HarmonyOS特定的API,也可以使用 ​​DeviceInfo.getDeviceTime()​​。这两种方法都能帮助你轻松获取系统当前时间。

分享
微博
QQ
微信
回复
2024-09-30 15:53:02
zbw_apple

可以用systemDateTime.getTime()。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-date-time-V5#systemdatetimegettime10

还可以使用以下方式:

let dateFormat = new Intl.DateTimeFormat('zh-CN', { dateStyle: 'short', timeStyle: 'short' });   
this.formattedDate = dateFormat.format(Date.now()) 
  • 1.
  • 2.

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-intl-V5#format

分享
微博
QQ
微信
回复
2024-09-30 16:37:09
相关问题
如何获取当前系统时间时间
2039浏览 • 1回复 待解决
HarmonyOS 元服务如何获取系统时间
772浏览 • 1回复 待解决
如何从C++层面获取系统时间
5574浏览 • 2回复 待解决
LiteOS-M如何获取系统当前时间
9286浏览 • 1回复 待解决
获取系统当前时间戳异常
1097浏览 • 1回复 待解决
如何获取系统时间戳,你知道吗?
4081浏览 • 1回复 待解决
HarmonyOS 获取系统时间戳没有生效
1153浏览 • 1回复 待解决
如何获取系统时间戳以及格式的转换
3217浏览 • 1回复 待解决
HarmonyOS 如何获取当前时间时间
1084浏览 • 1回复 待解决
HarmonyOS boottime时间如何获取
990浏览 • 0回复 待解决
如何获取组件刷新时间
2647浏览 • 1回复 待解决
HarmonyOS 如何获取文件的创建时间
583浏览 • 1回复 待解决
HarmonyOS 如何获取手机开机时间
974浏览 • 1回复 待解决
HarmonyOS 如何获取开机时间
760浏览 • 1回复 待解决
HarmonyOS 获取当前时间
1210浏览 • 1回复 待解决
HarmonyOS 获取时间
1122浏览 • 1回复 待解决
Hi3516标准系统system目录只读
5805浏览 • 2回复 已解决
ArkTS的时间获取如何实现
5769浏览 • 1回复 已解决