#include #include #include #include #include #include #ifdef __GNUC__ #include #else #include #endif int main(int argc, char **argv) { QCoreApplication app(argc, argv); struct utimbuf utim; // works (29.June 2010) //utim.actime = 1277800095; //utim.modtime = 1277800095; // does NOT work (26.March 2010) utim.actime = 1269593170; utim.modtime = 1269593170; utime(argv[1], &utim); QFileInfo info(argv[1]); QDateTime dt = info.lastModified();//.toUTC(); // toUTC does not make a difference - as expected struct stat st; stat(argv[1], &st); printf("current QT:%d\n", QDateTime::currentDateTime().toTime_t()); printf("current:%d QT:%d\n", time(0), QDateTime::currentDateTime().toTime_t()); printf("timeSpec (1=UTC, 0=local):%d QT-mtime:%d POSIX-mtime:%d\n", dt.timeSpec(), dt.toTime_t(), st.st_mtime); printf("dateTime: %s\n", dt.toString().toAscii().constData()); if ( argc >2 ) { printf("-- a new file --\n"); QFile f(argv[2]); f.remove(); f.open(QIODevice::WriteOnly); f.write("hallo"); f.close(); dt = QFileInfo(argv[2]).lastModified(); stat(argv[2], &st); printf("timeSpec (1=UTC, 0=local):%d QT-mtime:%d POSIX-mtime:%d\n", dt.timeSpec(), dt.toTime_t(), st.st_mtime); } return 0; }