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

C#获取当前时间戳

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

时间戳转换16进制byte数组

  1. 首先将时间戳转换16进制字符串
// 获取时间戳
long timeStamp = Public.Timestamp() / 1000;// 精确到秒
string str = timeStamp.ToString("X4"); // 10进制转换16进制,并且少于4位补全0
  1. 16进制时间戳字符串转换成16进制byte数组
/// <summary>
/// 16进制字符串转换成16进制byte数组
/// </summary>
/// <param name="hexString"></param>
/// <returns></returns>
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;
}

最后使用

// 获取时间戳
long timeStamp = Public.Timestamp() / 1000; // 精确到秒
string str = timeStamp.ToString("X4"); // 10进制转换16进制,并且少于4位补全0
byte[] b = Public.strToHexByte(str);
posted @ 2021-03-25 13:43  遗失的美好灬  阅读(193)  评论(0编辑  收藏  举报