public static void Main()
for(int i = 0; i<30; i++)
Console.WriteLine(GetDayCode(DateTime.Now.AddDays(i)));
public static string GetDayCode(DateTime date)
string str = date.ToString("yyyyMMdd");
return $"{str}: {CRC16_Martin(str, 1).ToString("X2")}";
private static int CRC16_Martin(string str, int n)
for (b = 0; b < str.Length; b = (byte)(b + 1))
num ^= (byte)str[b] << 8;
for (b2 = 0; b2 < 8; b2 = (byte)(b2 + 1))
num = (((num & 0x8000) == 0) ? (num << 1) : ((num << 1) ^ (4369 + n * 4)));