0

Iamは、日付が含まれているJsonファイルを読み取ります。

jsonValue->GetObject()->GetNamedObject("board")->GetNamedNumber("date")

その日付はUnixコード形式で保存されます。

"date":1347973494

ただし、「19.09.2012」のような通常の形式で取得する必要があります。その問題を解決するための適切な関数が見つかりません。私はすでにDateTimeFormatterクラスを試しましたが、これを行う正しい方法ではなかったと思います。

では、DateTimeをUnixタイムスタンプから「19.09.2012」のような通常の形式に変更する方法を知っている人はいますか?

4

2 に答える 2

1

Unixタイムスタンプは1970年からの秒数であるため、1970-01-01に秒数を追加します。

int unixTimestamp = 1347973494;
System::DateTime timestamp = System::DateTime(1970, 1, 1).AddSeconds(unixTimestamp);

次に、DateTimeを任意の文字列形式にフォーマットするか、DateTimeとして使用します。

System::String^ formatted = timestamp.ToString("dd.MM.yyyy")
于 2012-09-19T12:24:55.257 に答える
0

ここにあるCalendarクラスの問題を解決しました

int unixTimestamp = (int)jsonValue->GetObject()->GetNamedNumber("date");

Windows::Globalization::Calendar^ cal = ref new Windows::Globalization::Calendar();
 cal->Year = 1970;
 cal->Month = 1;
 cal->Day = 1;
 cal->Minute = 0;
 cal->Hour = 0;
 cal->Second = 0;
 cal->AddSeconds(unixTimestamp);

 mainDate -> Text = cal->DayAsString() + ". " + cal->MonthAsString() + " " + cal->YearAsString();
于 2012-09-19T14:25:06.730 に答える