アトリエ ぺっぺ

トップページ > プログラムTips > ファイルの最新更新時間の取得

◆ ファイルの最新更新時間の取得
ファイルの最新更新時間を取得するには、以下のようにします。
// ファイルの最終更新時間を取得(世界時間)
// sFilePath=ファイルパス、fTime=ファイル最終更新時間
bool getFileTime(const char* sFilePath, FILETIME& fTime)
{
    bool ret = false;
    CFile file;
    if(file.Open(sFilePath, CFile::modeRead)){

        // 世界時間
        if(GetFileTime((HANDLE)file.m_hFile, NULL, NULL, &fTime)){
            ret = true;
        }
    }
    return ret;
}

// ファイルの最新更新時間情報の取得(システム時間)
// sFilePath=ファイルパス、stWrite=ファイル最終更新時間情報
bool getFileTimeInfo(const char* sFilePath, SYSTEMTIME& stWrite)
{
    bool ret = false;
    // 世界時間
    FILETIME fTime;
    if(getFileTime(sFilePath, fTime)){
        // 日本時間に変換
        FILETIME lTime;
        if(FileTimeToLocalFileTime(&fTime, &lTime)){
            // 使える形に変換
            if(FileTimeToSystemTime(&lTime, &stWrite)){
                ret = true;
            }
        }
    }
    return ret;
}

(C) 2002 atelier-peppe
ababa@atelier-peppe.sakura.ne.jp