C#中 怎么获取文件最后一次访问的准确时间

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:13:06
我想把文件的最后一次访问时间和最后一次修改时间进行比较,得出准确时间差,即精确到时分秒的!最后一次修改时间我已经可以了,但最后一次访问时间不能获得精确到时分秒的该怎么办???要求是不能增加服务器负担!!!
这位大大,这样的不行的,我使用Directory.SetLastAccessTime(Server.MapPath("Default2.aspx"),DateTime.Now);系统的内置类里有获得文件的最后修改时间和最后访问时间的函数,但是,Directory.GetLastAccessTime(Server.MapPath("Default2.aspx")).ToString();这个函数不能获得准确到时分秒的时间,获得的格式,具体你可以随便在电脑上找个文件看属性,就像上面看到的那样的!~但这样的不符合我的要求!我给他赋值的话,也只能赋给年月日,不能给准确时分秒时间!所以我想知道怎么可以获得准确的时间,或可以给它赋准确的时间???
回答者: Alvin028 - 初入江湖
好像还是不可以,帮俺再看看啊?嘿嘿~时间还是不行的~
this is lastAccesstime.aspx:2009-08-21 00:00:00
只得到这样的!~我要准确的时分秒 像这样的 :当前时间:2009-8-21 15:32:44 你可以随便在电脑上找个文件看属性,就像上面看到的那样的
回答者: sonichu - 经理
这位仁兄,这种方法我也想过,我当时是想把访问时的时间保存到一个文件中,然后下次访问时候再进行读取。和你的这种方法应该是一样的吧。不过,这是要用到网站上的,这样会不会影响网站访问速度的呀?影响太大的话,就不行了!

做个表,如果文章是第一次访问就插入一条记录,如果文章不是第一次访问就更新访问日期。用SQL的日期型,可以精确的毫秒。

可以考虑string.format方法啊,datatime.now也有format方法的。可以格式化时间到秒的

有两个方法可以获取他们的时间,但需要引用命名空间System.IO:
方法一:
DateTime lastAccessTime = File.GetLastAccessTime("文件路径");
DateTime lastAccessTime = File.GetLastWriteTime("文件路径");
方法二:
FileInfo file = new FileInfo("文件路径");
DateTime lastAccessTime = file.LastAccessTime;
DateTime lastWriteTime = file.LastWriteTime;

这个返回的是准确的时间,精确到了秒的,你可以使用这种方式查看一下:
Response.Write(Directory.GetLastAccessTime(Server.MapPath("Default2.aspx")).ToString("yyyy-MM-dd HH:mm:ss"));

你把程序放到别个的电脑上看看呢?我到觉得是你机子的问题样!

???
DateTime.Now.ToString();

DateTime.Now