UE4でUNIXTIMESTAMPみたいなものを作って時間の経過をINTで比較する

BlueprintでUNIXタイムスタンプみたいなものを作って時間経過を比較するにはそのままではうまくいかない。

現在の時間情報を得るにはNowというノードでDATEを得るんだけど返って来るのはStringなんだよね。

なのでこれを加工してUNIXタイムスタンプのようなINT型の変数を作ってみる。

まず①NowでDATEを取ってAsDateで西暦/月/日を取得。で区切っている/を削除してString型の数列を用意する。(2021/01/21なら20210121に)

で、②AsTimeで現在の時:分:秒を得る。僕は時でいいので、左側から:で分けた左の文字を抜き出す。

時は一桁の場合があるので先頭に0を付加する。で、今度は右側から2文字抜き出しておく。

最後にこの①と②を結合してINT型にキャストしておくとUNIXタイムスタンプのようなものが出来上がる。(2021/01/21 9:32:10なら2021012109)

これで保存した同様の方法で作って保管したINTと比較すると何時間経過したかを判定できる。

※日付が変わると一桁上が変わるので値が大きくなる。

おばけスキャン3.0はサーバの負荷を減らすためサーバへのアクセスをUE4クライアントで制限するけどこの方法で行います。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)