掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DateTime型を.netを使わずに時刻情報に変換するには? (ID:73302)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
うまくいかない,というのは何がうまくいかないのでしょう。 私が示した方法を使って変換できましたが。 // in C++/CLI (System::DateTimeとSystem::Consoleを使っているため) #include <Windows.h> #include <time.h> #include <stdio.h> using namespace System; int main() { DateTime dt = DateTime::Now; long long ftbase = dt.Ticks - 504911232000000000LL; // FILETIMEの構築 FILETIME ft; ft.dwLowDateTime = static_cast<DWORD>(ftbase & 0xFFFFFFFFULL); ft.dwHighDateTime = static_cast<DWORD>((ftbase & 0xFFFFFFFF00000000ULL) >> 32); // FILETIME→SYSTEMTIME SYSTEMTIME st; FileTimeToSystemTime(&ft, &st); // SYSTEMTIME→struct tm struct tm tm; tm.tm_year = st.wYear - 1900; tm.tm_mon = st.wMonth - 1; tm.tm_mday = st.wDay; tm.tm_hour = st.wHour; tm.tm_min = st.wMinute; tm.tm_sec = st.wSecond; // struct tm→time_t time_t tt = mktime(&tm); Console::WriteLine(dt); Console::WriteLine("{0:D4}/{1:D2}/{2:D2} {3:D2}:{4:D2}:{5:D2}", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond); printf("%s", asctime(&tm)); printf("%s", ctime(&tt)); return 0; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.