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);
    }
}

### 方法二:使用 ​​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);
    }
}

### 声明权限

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

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

### 总结

以上是两种在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()) 

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

分享
微博
QQ
微信
回复
2024-09-30 16:37:09
相关问题
如何获取当前系统时间时间
816浏览 • 1回复 待解决
如何从C++层面获取系统时间
4371浏览 • 2回复 待解决
HarmonyOS 获取系统时间戳没有生效
203浏览 • 1回复 待解决
LiteOS-M如何获取系统当前时间
7916浏览 • 1回复 待解决
获取系统当前时间戳异常
121浏览 • 1回复 待解决
如何获取系统时间戳,你知道吗?
2798浏览 • 1回复 待解决
HarmonyOS boottime时间如何获取
386浏览 • 0回复 待解决
如何获取系统时间戳以及格式的转换
1828浏览 • 1回复 待解决
HarmonyOS 获取当前时间
275浏览 • 1回复 待解决
如何获取组件刷新时间
1845浏览 • 1回复 待解决
ArkTS的时间获取如何实现
4647浏览 • 1回复 已解决
获取udid提示/system/bin/sh: bm: not found
13946浏览 • 2回复 待解决
Hi3516标准系统system目录只读
4859浏览 • 2回复 已解决
如何获取今天的日期、时间戳?
494浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度?
742浏览 • 1回复 待解决
如何获取系统屏幕固定。
3848浏览 • 0回复 待解决
HarmonyOS 系统信息获取方式
476浏览 • 1回复 待解决