【UE4 C++】DateTime、Timespan 相关函数

基于UKismetMathLibrary

DateTime 相关函数

Timespan 运算操作相关函数见尾部附录

/** Returns the date component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetDate"), Category="Math|DateTime")
static FDateTime GetDate( FDateTime A );

/** Returns the day component of A (1 to 31) */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetDay"), Category="Math|DateTime")
static int32 GetDay( FDateTime A );

/** Returns the day of year of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetDayOfYear"), Category="Math|DateTime")
static int32 GetDayOfYear( FDateTime A );

/** Returns the hour component of A (24h format) */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetHour"), Category="Math|DateTime")
static int32 GetHour( FDateTime A );

/** Returns the hour component of A (12h format) */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetHour12"), Category="Math|DateTime")
static int32 GetHour12( FDateTime A );

/** Returns the millisecond component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetMillisecond"), Category="Math|DateTime")
static int32 GetMillisecond( FDateTime A );

/** Returns the minute component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetMinute"), Category="Math|DateTime")
static int32 GetMinute( FDateTime A );

/** Returns the month component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetMonth"), Category="Math|DateTime")
static int32 GetMonth( FDateTime A );

/** Returns the second component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetSecond"), Category="Math|DateTime")
static int32 GetSecond( FDateTime A );

/** Returns the time elapsed since midnight of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetTimeOfDay"), Category="Math|DateTime")
static FTimespan GetTimeOfDay( FDateTime A );

/** Returns the year component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetYear"), Category="Math|DateTime")
static int32 GetYear( FDateTime A );

/** Returns whether A's time is in the afternoon */
UFUNCTION(BlueprintPure, meta=(DisplayName="IsAfternoon"), Category="Math|DateTime")
static bool IsAfternoon( FDateTime A );

/** Returns whether A's time is in the morning */
UFUNCTION(BlueprintPure, meta=(DisplayName="IsMorning"), Category="Math|DateTime")
static bool IsMorning( FDateTime A );

/** Returns the number of days in the given year and month */
UFUNCTION(BlueprintPure, meta=(DisplayName="DaysInMonth"), Category="Math|DateTime")
static int32 DaysInMonth( int32 Year, int32 Month );

/** Returns the number of days in the given year */
UFUNCTION(BlueprintPure, meta=(DisplayName="DaysInYear"), Category="Math|DateTime")
static int32 DaysInYear( int32 Year );

/** Returns whether given year is a leap year */
UFUNCTION(BlueprintPure, meta=(DisplayName="IsLeapYear"), Category="Math|DateTime")
static bool IsLeapYear( int32 Year );

/** Returns the maximum date and time value */
UFUNCTION(BlueprintPure, meta=(DisplayName="MaxValue"), Category="Math|DateTime")
static FDateTime DateTimeMaxValue( );

/** Returns the minimum date and time value */
UFUNCTION(BlueprintPure, meta=(DisplayName="MinValue"), Category="Math|DateTime")
static FDateTime DateTimeMinValue( );

/** Returns the local date and time on this computer */
UFUNCTION(BlueprintPure, meta=(DisplayName="Now"), Category="Math|DateTime")
static FDateTime Now( );

/** Returns the local date on this computer */
UFUNCTION(BlueprintPure, meta=(DisplayName="Today"), Category="Math|DateTime")
static FDateTime Today( );

/** Returns the UTC date and time on this computer */
UFUNCTION(BlueprintPure, meta=(DisplayName="UtcNow"), Category="Math|DateTime")
static FDateTime UtcNow( );

/** Converts a date string in ISO-8601 format to a DateTime object */
UFUNCTION(BlueprintPure, Category="Math|DateTime")
static bool DateTimeFromIsoString(FString IsoString, FDateTime& Result);

/** Converts a date string to a DateTime object */
UFUNCTION(BlueprintPure, Category="Math|DateTime")
static bool DateTimeFromString(FString DateTimeString, FDateTime& Result);

Timespan 相关函数

Timespan 运算操作相关函数见尾部附录

/** Returns the days component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetDays"), Category="Math|Timespan")
static int32 GetDays( FTimespan A );

/** Returns the absolute value of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetDuration"), Category="Math|Timespan")
static FTimespan GetDuration( FTimespan A );

/** Returns the hours component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetHours"), Category="Math|Timespan")
static int32 GetHours( FTimespan A );

/** Returns the milliseconds component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetMilliseconds"), Category="Math|Timespan")
static int32 GetMilliseconds( FTimespan A );

/** Returns the minutes component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetMinutes"), Category="Math|Timespan")
static int32 GetMinutes( FTimespan A );

/** Returns the seconds component of A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetSeconds"), Category="Math|Timespan")
static int32 GetSeconds( FTimespan A );

/** Returns the total number of days in A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetTotalDays"), Category="Math|Timespan")
static float GetTotalDays( FTimespan A );

/** Returns the total number of hours in A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetTotalHours"), Category="Math|Timespan")
static float GetTotalHours( FTimespan A );

/** Returns the total number of milliseconds in A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetTotalMilliseconds"), Category="Math|Timespan")
static float GetTotalMilliseconds( FTimespan A );

/** Returns the total number of minutes in A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetTotalMinutes"), Category="Math|Timespan")
static float GetTotalMinutes( FTimespan A );

/** Returns the total number of seconds in A */
UFUNCTION(BlueprintPure, meta=(DisplayName="GetTotalSeconds"), Category="Math|Timespan")
static float GetTotalSeconds( FTimespan A );

/** Returns a time span that represents the specified number of days */
UFUNCTION(BlueprintPure, meta=(DisplayName="FromDays"), Category="Math|Timespan")
static FTimespan FromDays( float Days );

/** Returns a time span that represents the specified number of hours */
UFUNCTION(BlueprintPure, meta=(DisplayName="FromHours"), Category="Math|Timespan")
static FTimespan FromHours( float Hours );

/** Returns a time span that represents the specified number of milliseconds */
UFUNCTION(BlueprintPure, meta=(DisplayName="FromMilliseconds"), Category="Math|Timespan")
static FTimespan FromMilliseconds( float Milliseconds );

/** Returns a time span that represents the specified number of minutes */
UFUNCTION(BlueprintPure, meta=(DisplayName="FromMinutes"), Category="Math|Timespan")
static FTimespan FromMinutes( float Minutes );

/** Returns a time span that represents the specified number of seconds */
UFUNCTION(BlueprintPure, meta=(DisplayName="FromSeconds"), Category="Math|Timespan")
static FTimespan FromSeconds( float Seconds );

/** Returns the ratio between two time spans (A / B), handles zero values */
UFUNCTION(BlueprintPure, meta=(DisplayName="TimespanRatio"), Category="Math|Timespan")
static float TimespanRatio( FTimespan A, FTimespan B );

/** Converts a time span string to a Timespan object */
UFUNCTION(BlueprintPure, Category="Math|Timespan")
static bool TimespanFromString(FString TimespanString, FTimespan& Result);

附录

DateTime 运算操作相关函数

/** Makes a DateTime struct */
UFUNCTION(BlueprintPure, Category="Math|DateTime", meta=(NativeMakeFunc, AdvancedDisplay = "3"))
static FDateTime MakeDateTime(int32 Year, int32 Month, int32 Day, int32 Hour = 0, int32 Minute = 0, int32 Second = 0, int32 Millisecond = 0);

/** Breaks a DateTime into its components */
UFUNCTION(BlueprintPure, Category="Math|DateTime", meta=(NativeBreakFunc, AdvancedDisplay = "4"))
static void BreakDateTime(FDateTime InDateTime, int32& Year, int32& Month, int32& Day, int32& Hour, int32& Minute, int32& Second, int32& Millisecond);

/** Addition (A + B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="DateTime + Timespan", CompactNodeTitle="+", Keywords="+ add plus"), Category="Math|DateTime")
static FDateTime Add_DateTimeTimespan( FDateTime A, FTimespan B );

/** Subtraction (A - B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="DateTime - Timespan", CompactNodeTitle="-", Keywords="- subtract minus"), Category="Math|DateTime")
static FDateTime Subtract_DateTimeTimespan(FDateTime A, FTimespan B);

/** Addition (A + B) */
UFUNCTION(BlueprintPure, meta = (DisplayName = "DateTime + DateTime", CompactNodeTitle = "+", Keywords = "+ add plus"), Category = "Math|DateTime")
static FDateTime Add_DateTimeDateTime(FDateTime A, FDateTime B);

/** Subtraction (A - B) */
UFUNCTION(BlueprintPure, meta = (DisplayName = "DateTime - DateTime", CompactNodeTitle = "-", Keywords = "- subtract minus"), Category = "Math|DateTime")
static FTimespan Subtract_DateTimeDateTime(FDateTime A, FDateTime B);

/** Returns true if the values are equal (A == B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Equal (DateTime)", CompactNodeTitle="==", Keywords="== equal"), Category="Math|DateTime")
static bool EqualEqual_DateTimeDateTime( FDateTime A, FDateTime B );

/** Returns true if the values are not equal (A != B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Not Equal (DateTime)", CompactNodeTitle="!=", Keywords="!= not equal"), Category="Math|DateTime")
static bool NotEqual_DateTimeDateTime( FDateTime A, FDateTime B );

/** Returns true if A is greater than B (A > B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="DateTime > DateTime", CompactNodeTitle=">", Keywords="> greater"), Category="Math|DateTime")
static bool Greater_DateTimeDateTime( FDateTime A, FDateTime B );

/** Returns true if A is greater than or equal to B (A >= B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="DateTime >= DateTime", CompactNodeTitle=">=", Keywords=">= greater"), Category="Math|DateTime")
static bool GreaterEqual_DateTimeDateTime( FDateTime A, FDateTime B );

/** Returns true if A is less than B (A < B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="DateTime < DateTime", CompactNodeTitle="<", Keywords="< less"), Category="Math|DateTime")
static bool Less_DateTimeDateTime( FDateTime A, FDateTime B );

/** Returns true if A is less than or equal to B (A <= B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="DateTime <= DateTime", CompactNodeTitle="<=", Keywords="<= less"), Category="Math|DateTime")
static bool LessEqual_DateTimeDateTime( FDateTime A, FDateTime B );

Timespan 运算操作相关函数

/** Returns the maximum time span value */
UFUNCTION(BlueprintPure, meta=(DisplayName="MaxValue", ScriptConstant = "MaxValue", ScriptConstantHost = "Timespan"), Category="Math|Timespan")
static FTimespan TimespanMaxValue( );

/** Returns the minimum time span value */
UFUNCTION(BlueprintPure, meta=(DisplayName="MinValue", ScriptConstant = "MinValue", ScriptConstantHost = "Timespan"), Category="Math|Timespan")
static FTimespan TimespanMinValue( );

/** Returns a zero time span value */
UFUNCTION(BlueprintPure, meta=(DisplayName="ZeroValue", ScriptConstant = "Zero", ScriptConstantHost = "Timespan"), Category="Math|Timespan")
static FTimespan TimespanZeroValue( );

UFUNCTION(BlueprintPure, Category="Math|Timespan", meta=(NativeMakeFunc))
static FTimespan MakeTimespan(int32 Days, int32 Hours, int32 Minutes, int32 Seconds, int32 Milliseconds);

/** Makes a Timespan struct */
UFUNCTION(BlueprintPure, Category="Math|Timespan", meta=(NativeMakeFunc))
static FTimespan MakeTimespan2(int32 Days, int32 Hours, int32 Minutes, int32 Seconds, int32 FractionNano);

/** Breaks a Timespan into its components */
UFUNCTION(BlueprintPure, Category="Math|Timespan", meta=(NativeBreakFunc))
static void BreakTimespan(FTimespan InTimespan, int32& Days, int32& Hours, int32& Minutes, int32& Seconds, int32& Milliseconds);

/** Breaks a Timespan into its components */
UFUNCTION(BlueprintPure, Category="Math|Timespan", meta=(NativeBreakFunc))
static void BreakTimespan2(FTimespan InTimespan, int32& Days, int32& Hours, int32& Minutes, int32& Seconds, int32& FractionNano);

/** Addition (A + B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan + Timespan", CompactNodeTitle="+", Keywords="+ add plus"), Category="Math|Timespan")
static FTimespan Add_TimespanTimespan( FTimespan A, FTimespan B );

/** Subtraction (A - B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan - Timespan", CompactNodeTitle="-", Keywords="- subtract minus"), Category="Math|Timespan")
static FTimespan Subtract_TimespanTimespan( FTimespan A, FTimespan B );

/** Scalar multiplication (A * s) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan * float", CompactNodeTitle="*", Keywords="* multiply"), Category="Math|Timespan")
static FTimespan Multiply_TimespanFloat( FTimespan A, float Scalar );

/** Scalar division (A / s) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan / float", CompactNodeTitle="/", Keywords="/ divide"), Category="Math|Timespan")
static FTimespan Divide_TimespanFloat( FTimespan A, float Scalar );

/** Returns true if the values are equal (A == B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Equal (Timespan)", CompactNodeTitle="==", Keywords="== equal"), Category="Math|Timespan")
static bool EqualEqual_TimespanTimespan( FTimespan A, FTimespan B );

/** Returns true if the values are not equal (A != B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Not Equal (Timespan)", CompactNodeTitle="!=", Keywords="!= not equal"), Category="Math|Timespan")
static bool NotEqual_TimespanTimespan( FTimespan A, FTimespan B );

/** Returns true if A is greater than B (A > B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan > Timespan", CompactNodeTitle=">", Keywords="> greater"), Category="Math|Timespan")
static bool Greater_TimespanTimespan( FTimespan A, FTimespan B );

/** Returns true if A is greater than or equal to B (A >= B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan >= Timespan", CompactNodeTitle=">=", Keywords=">= greater"), Category="Math|Timespan")
static bool GreaterEqual_TimespanTimespan( FTimespan A, FTimespan B );

/** Returns true if A is less than B (A < B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan < Timespan", CompactNodeTitle="<", Keywords="< less"), Category="Math|Timespan")
static bool Less_TimespanTimespan( FTimespan A, FTimespan B );

/** Returns true if A is less than or equal to B (A <= B) */
UFUNCTION(BlueprintPure, meta=(DisplayName="Timespan <= Timespan", CompactNodeTitle="<=", Keywords="<= less"), Category="Math|Timespan")
static bool LessEqual_TimespanTimespan( FTimespan A, FTimespan B );
posted @ 2021-05-08 10:52  砥才人  阅读(1661)  评论(0编辑  收藏  举报