如何在文件系统中获取最后修改的日期和时间?
Posted
技术标签:
【中文标题】如何在文件系统中获取最后修改的日期和时间?【英文标题】:How to get last modified date and time in Filesystem? 【发布时间】:2016-05-26 05:45:10 【问题描述】:您好,我正在尝试获取文件的最后修改日期和时间,该文件存储在我的本地设备内存目录中。是否可以在文件系统中获取 lastmodifieddate?
到目前为止,我一直在尝试使用以下代码
function checkLastModifiedDate()
window.resolveLocalFileSystemURL(cordova.file.
externalRootDirectory
+"Download/SMU/File Repo/SMUDE_Connect_User_Guide.pdf",
function(fs)
LastModifiedDateOfFile(fs);
, failFiles);
function failFiles(error)
if (error.code == FileError.NOT_FOUND_ERR)
toastr.error('User guide manual not exists.', 'Information')
else if (error.code == FileError.SECURITY_ERR)
console.log("Message : SECURITY_ERR")
else if (error.code == FileError.ABORT_ERR)
console.log("Message : ABORT_ERR")
else if (error.code == FileError.NOT_READABLE_ERR)
console.log("Message : NOT_READABLE_ERR")
else if (error.code == FileError.ENCODING_ERR)
console.log("Message : ENCODING_ERR")
else if (error.code == FileError.NO_MODIFICATION_ALLOWED_ERR)
console.log("Message : NO_MODIFICATION_ALLOWED_ERR")
else if (error.code == FileError.INVALID_STATE_ERR)
console.log("Message : INVALID_STATE_ERR")
else if (error.code == FileError.SYNTAX_ERR)
console.log("Message : SYNTAX_ERR")
else if (error.code == FileError.INVALID_MODIFICATION_ERR)
console.log("Message : INVALID_MODIFICATION_ERR")
else if (error.code == FileError.QUOTA_EXCEEDED_ERR)
console.log("Message : QUOTA_EXCEEDED_ERR")
else if (error.code == FileError.PATH_EXISTS_ERR)
console.log("Message : PATH_EXISTS_ERR")
function LastModifiedDateOfFile(fileEntry)
var lastMod = fileEntry.lastModifiedDate;
//alert("lastMod - "+lastMod);
//var date = new Date(fileEntry.lastModified);
//alert("date - "+date);
参考链接http://www.html5rocks.com/en/tutorials/file/filesystem/
我们可以这样做,但我不能通过输入标签选择文件 http://jsbin.com/ajepef/1/edit?html,output
每次都显示“未定义”,我不确定 lastmodifeddate 属性是否存在。 如果有人知道,请帮助我。
【问题讨论】:
【参考方案1】:试试这个:
window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "YOUR_FILE_NAME", gotFile, fail);
function fail(e)
console.log("FileSystem Error");
console.dir(e);
function gotFile(fileEntry)
fileEntry.file(function(file)
console.log(file.lastModifiedDate);
);
希望对你有帮助
【讨论】:
它在安卓中工作。但对于 ios,它返回的是当前时间,而不是返回文件的实际修改时间。是否有任何其他工作可以实现这一目标?【参考方案2】:你必须使用fileEntry
的file()
方法。改变你的LastModifiedDateOfFile
函数如下:
function LastModifiedDateOfFile(fileEntry)
fileEntry.file(successFile,errorFile);
function successFile(entry)
alert(entry.lastModified);
function errorFile(error)
alert("error");
【讨论】:
以上是关于如何在文件系统中获取最后修改的日期和时间?的主要内容,如果未能解决你的问题,请参考以下文章
如何根据特定日期获取最后修改的文件并导入python脚本[重复]