using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Protocol.Contracts; using JiShe.CollectBus.Protocol.Contracts.Interfaces; using Microsoft.Extensions.Logging; namespace JiShe.CollectBus.Protocol.AnalysisData.Appendix { public class Appendix_A1 : IAnalysisStrategy, string> { private readonly ILogger _logger; public Appendix_A1(ILogger logger) { _logger = logger; } public async Task ExecuteAsync(List data) { var seconds = data[0]; var minutes = data[1]; var hours = data[2]; var day = data[3]; string binString = data[4].HexTo4BinZero(); var months = (binString.Substring(3, 1).BinToDec() * 10) + Convert.ToInt32(binString.Substring(4, 4).BinToHex()); var week = binString.Substring(0, 3).HexTo4BinZero(); var year = $"{DateTime.Now.ToString("yyyy").Substring(0, 2)}{data[5]}"; string date= $"{year}-{months.ToString().PadLeft(2, '0')}-{day} {hours}:{minutes}:{seconds}_{week}"; return await Task.FromResult(date); } } }