UE4 unix13位时间戳 转Windows DateTime
步骤1: 首先创建一个父类为BlueprintFunctionLibrary的C++类
2.命名为 BPF_UnixTimestampToDateTime ,会自动打开VS2019,生成一个类;
// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "Misc/DateTime.h"
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "BPF_UnixTimestampToDateTime.generated.h"/*** */
UCLASS()
class MYPROJECT_API UBPF_UnixTimestampToDateTime : public UBlueprintFunctionLibrary
{GENERATED_BODY()//UFUNCTION(BlueprintPure, Category = "UnixTimestamp")static FDateTime UnixTimestampToDateTime(int64 UnixTime);UFUNCTION(BlueprintPure, Category = "UnixTimestamp")static FDateTime UnixTimestampToDateTime_s(FString UnixTime);
};
上面这段代码,值得注意的是,每个想要暴露给蓝图的函数或者变量,都必须要声明
比如: UFUNCTION(BlueprintPure, Category = "UnixTimestamp")
// Fill out your copyright notice in the Description page of Project Settings.#include "BPF_UnixTimestampToDateTime.h"FDateTime UBPF_UnixTimestampToDateTime::UnixTimestampToDateTime_s(FString UnixTime)
{char* result = TCHAR_TO_ANSI(*UnixTime);uint64 unixTime_t = _atoi64(result);uint64 tmpUnix = unixTime_t / 1000;//sprintf(result, "%lld", unixTime_t);FDateTime Time = FDateTime::FromUnixTimestamp(tmpUnix);FTimespan spanT = FTimespan(8,0,0);Time = Time.operator+(spanT); //UTC time +8 hour(china)//*UE_LOG(LogTemp, Warning, TEXT("%lld"), tmpUnix);int year = Time.GetYear();int month = Time.GetMonth();int day = Time.GetDay();int hour = Time.GetHour();int minute = Time.GetMinute();int second = Time.GetSecond();UE_LOG(LogTemp, Warning, TEXT("时间:%d, %d, %d, %d, %d, %d"), year, month, day, hour, minute, second);*/return Time;
}
因为linux系统传过来的时间戳是13位,然而UE4.26系统能转换的只有10位,所以需要除以1000(去掉毫秒部分),然后FromUnixTimestamp函数 才能得到正确的时间。
3.然后编译... 在蓝图里用;右键输入函数 UnixTimestampToDateTime_s
UE4 unix13位时间戳 转Windows DateTime相关推荐
- python 获取 精确的13位时间戳 以及使用datetime 获取时间间隔
调度任务中常常要用到精确的时间,如果获取的13位时间戳不够准确的话,会造成数据的重复或者缺失 通常的不准确的13位时间戳的获取方式(秒*1000) import time millis = int(r ...
- python生成时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例
我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...
- python如何得到13位时间戳?
python用time.time()得到的不是13位的时间戳,要怎么才能得到13位的? python获取当前时间的unix时间戳 Unix timestamp:是从1970年1月1日(UTC/GMT的 ...
- python日期格式转换成13位时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例...
我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...
- 17位时间戳转换为Unix时间戳及转换工具,代码实现转换 WebKit/Chrome Timestamp Converter
文章目录 前言/目的: 关于17位时间戳 WebKit/Chrome Timestamp的介绍 便捷的在线转换工具 用代码实现转换 Python版本 JavaScript版本 前言/目的: 在浏览微软 ...
- python 13位时间戳
# -*- coding:utf-8 -*- import time import datetime def millisecond_to_time(millis): "" ...
- python 13位时间戳处理
1. python 时间戳处理 Unix 时间戳根据精度的不同,有 10 位(秒级),13 位(毫秒级),16 位(微妙级)和 19 位(纳秒级).在 python 中,我们可以将一个整数的时间戳转换 ...
- python 获取10位和13位 时间戳
以前不知道时间戳还要13位的,因为java默认精度是毫秒级别的,生成的时间戳是13位,而python默认是10位的,精度是秒,所以是精度不一样导致的,下面是一些转换的方法,供参考. 一.当前时间转换成 ...
- HTML 传输 字符转换 进制转换 15位 18位 时间戳 转换
<h1>中国</h1> ######################################## HTML字符实体 格式:&#ASCII码十进制数; <h ...
最新文章
- Angular应用中配置全局路径映射
- 通过命令行形式编译QT源程序
- 一步一步学习iOS 5编程(第三版)-PDF中文版-正式发布!
- 【学习笔记】3、Jupyter Notebook无法打开问题处理
- 纯css3开发的响应式设计动画菜单(支持ie8)
- HGE2D引擎按键消息分析(续)
- sqlserver 字符串转化数值函数_Excel常见函数用法(TEXT函数)
- 机器学习之Stacking原理与实战
- 上传jar到本地仓库
- 用链表队列实现基数排序;
- google地球无法连接_WiFi无法连接?解决macOS Big Sur/Mojave/ Catalina上的Wi-Fi问题
- adaboost代码实现
- TopCoder交题方法
- 网络安全实验4 SQL注入攻击
- 史上最简SLAM零基础解读(4) - 单应性Homography →公式推导与细节理解
- 总结30个Python赚钱的接单平台!兼职月入5000+,成年人的世界,钱是活下去的筹码
- 对比DoS攻击与DDoS攻击
- .netMVC企业微信网页授权+注册全局过滤器
- (遇到问题)鼠标右键卡住且一直显示转圈
- 谷歌高级搜索_您如何设置高级Google搜索条件?