Ejemplo n.º 1
0
//
// returns server time in the form "[m/d/y h:m:s]"
//
const char* plNetClientMgr::GetServerLogTimeAsString(plString& timestamp) const
{
    const plUnifiedTime st=GetServerTime();
    timestamp = plFormat("{{{_02}/{_02} {_02}:{_02}:{_02}}",
        st.GetMonth(), st.GetDay(), st.GetHour(), st.GetMinute(), st.GetSecond());
    return timestamp.c_str();
}
Ejemplo n.º 2
0
bool plFileUtils::SetModifyTime( const char * filename, const plUnifiedTime & timestamp )
{
#ifdef HS_BUILD_FOR_WIN32
    HANDLE hFile = CreateFile(filename,
        GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,
        nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,nil);
    if (hFile==INVALID_HANDLE_VALUE)
        return false;
    SYSTEMTIME systime;
    systime.wDay = timestamp.GetDay();
    systime.wDayOfWeek = timestamp.GetDayOfWeek();
    systime.wHour = timestamp.GetHour();
    systime.wMilliseconds = 0;
    systime.wMinute = timestamp.GetMinute();
    systime.wMonth = timestamp.GetMonth();
    systime.wSecond = timestamp.GetSecond();
    systime.wYear = timestamp.GetYear();
    FILETIME localFileTime, filetime;
    SystemTimeToFileTime(&systime,&localFileTime);
    LocalFileTimeToFileTime(&localFileTime,&filetime);
    SetFileTime(hFile,nil,nil,&filetime);
    CloseHandle(hFile);
    return true;

#elif HS_BUILD_FOR_UNIX
    struct stat sbuf;
    int result = stat( filename, &sbuf );
    if( result )
        return false;
    struct utimbuf utb;
    utb.actime = sbuf.st_atime;
    utb.modtime = timestamp.GetSecs();
    result = utime( filename, &utb );
    if( result )
        return false;
    return true;

#endif
}