如何使用DXL获取文件或stream对象的修改日期Date对象?
DXL获取文件Date对象解决方案
DXL没有提供直接从stream对象获取Date对象的原生接口,你可以通过filename对象实现需求,两种常用方案如下:
- 若需要获取文件最后修改时间,直接调用内置
lastModified()方法即可,该方法传入filename实例会直接返回Date对象,示例:filename targetFile = "C:/path/to/your/file.txt" Date fileLastModifyDate = lastModified(targetFile) // 测试输出时间 print fileLastModifyDate - 若需要获取文件创建时间,DXL原生无对应接口,可通过调用系统命令解析结果生成
Date对象,Windows平台示例:filename targetFile = "C:/path/to/your/file.txt" Stream cmdStream = system("dir /T:C " (string targetFile) " | findstr \"" (name targetFile) "\"", "r") string resLine if(readLine(cmdStream, resLine)) { // 按系统返回的时间格式调整日期模板即可完成解析 Date createDate = dateOf(substring(resLine, 0, 10) " " substring(resLine, 12, 8), "yyyy/MM/dd HH:mm:ss") print createDate } close cmdStream
补充说明:stream本身是用于读写文件内容的流对象,不携带文件元数据,因此无法直接从stream实例提取出对应的Date对象,所有文件元数据操作都需要绑定对应的filename实例完成。
内容的提问来源于stack exchange,提问作者Lloyd
相关产品推荐
相关产品推荐

