HarmonyOS 鸿蒙Next如何获取保存文件的创建时间

HarmonyOS 鸿蒙Next如何获取保存文件的创建时间 使用fs.statSync获取的mtime、ctime、atime格式化后都是1970-01-21 08:47:52,如何才能获取到正确的创建时间?

const firstStat =  FileUtil.statSync(subDirPath + '/' + files[0]);
fileListModel.createTime = dayjs(firstStat.ctime).format('YYYY-MM-DD HH:mm:ss');
LogUtil.info('文件信息:', dayjs(firstStat.mtime).format('YYYY-MM-DD HH:mm:ss'), dayjs(firstStat.atime).format('YYYY-MM-DD HH:mm:ss'), dayjs(firstStat.ctime).format('YYYY-MM-DD HH:mm:ss'));

输出:

文件信息:1970-01-21 08:47:521970-01-21 08:47:521970-01-21 08:47:52

文件信息:1970-01-21 08:47:521970-01-21 08:47:521970-01-21 08:47:52

文件信息:1970-01-21 08:48:071970-01-21 08:48:071970-01-21 08:48:07

文件信息:1970-01-21 08:48:071970-01-21 08:48:071970-01-21 08:48:07

文件信息:1970-01-21 08:48:081970-01-21 08:48:081970-01-21 08:48:08


更多关于HarmonyOS 鸿蒙Next如何获取保存文件的创建时间的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

查询当前目录下的所有文件和子目录,并显示它们的详细信息,包括文件/目录名称、权限、所有者、大小、创建日期可以使用以下两个方法fs.listFileSync和fs.statSync:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-0000001861887349-V5#ZH-CN_TOPIC_0000001881178469__fsstatsync
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-0000001861887349-V5#ZH-CN_TOPIC_0000001881178469__fslistfilesync

ctime属性表示文件的创建时间,mtime属性表示文件内容的最后修改时间,具体可参考文档。

更多关于HarmonyOS 鸿蒙Next如何获取保存文件的创建时间的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


兄弟解决了吗,我这获取的时间 也是1970年

在HarmonyOS(鸿蒙)系统中,要获取保存文件的创建时间,可以通过文件系统API进行查询。HarmonyOS提供了一套丰富的文件系统操作接口,允许开发者访问文件的元数据,包括创建时间、修改时间等。

具体来说,你可以使用文件描述符或文件路径来获取文件的元数据。在鸿蒙的文件系统API中,通常会有一个结构体(类似于其他操作系统中的stat结构体)用于存储文件的元数据,包括创建时间。你需要调用相应的系统调用或库函数来填充这个结构体,然后从中读取创建时间字段。

示例代码(伪代码,具体实现需参考鸿蒙官方文档):

#include <sys/stat.h>
#include <time.h>
#include <stdio.h>

int main() {
    const char *filepath = "/path/to/your/file";
    struct stat fileStat;
    
    if (stat(filepath, &fileStat) == 0) {
        // 注意:鸿蒙系统中可能使用不同的字段来表示创建时间
        // 这里假设使用st_birthtim作为创建时间(需根据鸿蒙文档确认)
        struct timespec creationTime = fileStat.st_birthtim;
        printf("File creation time: %ld.%09ld\n", creationTime.tv_sec, creationTime.tv_nsec);
    } else {
        perror("stat");
    }
    
    return 0;
}

请注意,上述代码中的st_birthtim字段是假设的,实际鸿蒙系统中可能使用不同的字段名。务必参考鸿蒙系统的官方文档来确认正确的字段。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部