選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

62 行
2.1 KiB

  1. using JT808.Protocol.Formatters;
  2. using JT808.Protocol.Interfaces;
  3. using JT808.Protocol.MessagePack;
  4. using System;
  5. using System.Text.Json;
  6. namespace JT808.Protocol.MessageBody
  7. {
  8. /// <summary>
  9. /// 查询服务器时间应答
  10. /// 2019版本
  11. /// </summary>
  12. public class JT808_0x8004 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8004>, IJT808Analyze, IJT808_2019_Version
  13. {
  14. /// <summary>
  15. /// 0x8004
  16. /// </summary>
  17. public override ushort MsgId { get; } = 0x8004;
  18. /// <summary>
  19. /// 查询服务器时间应答
  20. /// </summary>
  21. public override string Description => "查询服务器时间应答";
  22. /// <summary>
  23. /// 服务器时间
  24. /// </summary>
  25. public DateTime Time { get; set; } = DateTime.Now;
  26. /// <summary>
  27. ///
  28. /// </summary>
  29. /// <param name="reader"></param>
  30. /// <param name="writer"></param>
  31. /// <param name="config"></param>
  32. public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config)
  33. {
  34. var datetime= reader.ReadDateTime_yyMMddHHmmss();
  35. writer.WriteString($"[{ datetime.ToString("yyMMddHHmmss")}]查询服务器时间应答", datetime.ToString("yyyy-MM-dd HH:mm:ss"));
  36. }
  37. /// <summary>
  38. ///
  39. /// </summary>
  40. /// <param name="reader"></param>
  41. /// <param name="config"></param>
  42. /// <returns></returns>
  43. public JT808_0x8004 Deserialize(ref JT808MessagePackReader reader, IJT808Config config)
  44. {
  45. JT808_0x8004 value = new JT808_0x8004();
  46. value.Time = reader.ReadDateTime_yyMMddHHmmss();
  47. return value;
  48. }
  49. /// <summary>
  50. ///
  51. /// </summary>
  52. /// <param name="writer"></param>
  53. /// <param name="value"></param>
  54. /// <param name="config"></param>
  55. public void Serialize(ref JT808MessagePackWriter writer, JT808_0x8004 value, IJT808Config config)
  56. {
  57. writer.WriteDateTime_yyMMddHHmmss(value.Time);
  58. }
  59. }
  60. }