我有以下代码行:
<%= System.IO.File.GetLastWriteTime("~/Views/Home/Index.aspx").ToString("yyyy-MM-dd") %>
在资源管理器中,该文件显示为在1/2/2012修改。但是,此代码输出1600-01-02。
答案 0 :(得分:4)
您看到的原因是:
如果path参数中描述的文件不存在,则此方法返回美国俄勒冈州公元1601年1月1日午夜12点,协调世界时(UTC),调整为当地时间。
一旦调整到您的时区;这就是你得到1600-01-02
的原因。
我不相信GetLastWriteTime
了解虚拟路径。它期待一条物理道路。尝试:
<%= System.IO.File.GetLastWriteTime(Server.MapPath("~/Views/Home/Index.aspx")).ToString("yyyy-MM-dd") %>
您可以使用Server.MapPath
将虚拟路径映射到物理路径。