36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
|
|
using System.ComponentModel;
|
||
|
|
using System.Reflection;
|
||
|
|
|
||
|
|
namespace Bitget_Server.Infrastructure.Utils;
|
||
|
|
|
||
|
|
public static class Convertor
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// Enum의 Description Attribute 문자열을 가져온다.
|
||
|
|
/// </summary>
|
||
|
|
public static string GetEnumDescription(Enum source)
|
||
|
|
{
|
||
|
|
FieldInfo fi = source.GetType().GetField(source.ToString());
|
||
|
|
if (fi == null) return source.ToString();
|
||
|
|
|
||
|
|
var att = (DescriptionAttribute)fi.GetCustomAttribute(typeof(DescriptionAttribute));
|
||
|
|
return att != null ? att.Description : source.ToString();
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// DateTime -> Unix 타임스탬프(초 단위, KST 9시 기준). 기존 WinForms 로직과 동일.
|
||
|
|
/// </summary>
|
||
|
|
public static long GetDateTimeToUnixtimeStamp(DateTime datetime)
|
||
|
|
{
|
||
|
|
return (long)(datetime - new DateTime(1970, 1, 1, 9, 0, 0)).TotalSeconds;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Unix ms 타임스탬프 -> DateTime (KST 9시 기준).
|
||
|
|
/// </summary>
|
||
|
|
public static DateTime GetUnixtimeStampToDateTime(long unixStamptime)
|
||
|
|
{
|
||
|
|
return new DateTime(1970, 1, 1, 9, 0, 0).AddMilliseconds(unixStamptime);
|
||
|
|
}
|
||
|
|
}
|