C# 获取时间戳并从 10 进制时间戳转换成 16 进制 byte 数组

1. C# 获取当前时间戳

获取当前的毫秒时间戳

/// 
/// 获取当前的毫秒时间戳
/// 
/// 
public static long Timestamp()
{
    long ts = ConvertDateTimeToInt(DateTime.Now);
    return ts;
}

2. 时间戳转换 16 进制 byte 数组

2.1 首先将时间戳转换 16 进制字符串

// 获取时间戳
long timeStamp = Public.Timestamp() / 1000;// 精确到秒
string str = timeStamp.ToString("X4"); // 10进制转换16进制,并且少于4位补全0

2.2 16 进制时间戳字符串转换成 16 进制 byte 数组

/// 
/// 16进制字符串转换成16进制byte数组
/// 
/// 
/// 
public static byte[] strToHexByte(string hexString)
{
        hexString = hexString.Replace(":", "");
        if ((hexString.Length % 2) != 0)
        hexString += " ";
        byte[] returnBytes = new byte[hexString.Length / 2];
        for (int i = 0; i < returnBytes.Length; i++)
        returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
        return returnBytes;
}

3. 最后使用

// 获取时间戳
long timeStamp = Public.Timestamp() / 1000; // 精确到秒
string str = timeStamp.ToString("X4"); // 10进制转换16进制,并且少于4位补全0
byte[] b = Public.strToHexByte(str);

你可能感兴趣的:(c#)