ChinaDateTimeConverter.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Newtonsoft.Json.Converters;
  7. using Newtonsoft.Json;
  8. namespace Admin.NET.Core
  9. {
  10. /// <summary>
  11. /// JSON时间序列化yyyy-MM-dd HH:mm:ss
  12. /// </summary>
  13. public class ChinaDateTimeConverter : DateTimeConverterBase
  14. {
  15. private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
  16. /// <summary>
  17. /// ReadJson
  18. /// </summary>
  19. /// <param name="reader"></param>
  20. /// <param name="objectType"></param>
  21. /// <param name="existingValue"></param>
  22. /// <param name="serializer"></param>
  23. /// <returns></returns>
  24. public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
  25. {
  26. return dtConverter.ReadJson(reader, objectType, existingValue, serializer);
  27. }
  28. /// <summary>
  29. /// WriteJson
  30. /// </summary>
  31. /// <param name="writer"></param>
  32. /// <param name="value"></param>
  33. /// <param name="serializer"></param>
  34. public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
  35. {
  36. dtConverter.WriteJson(writer, value, serializer);
  37. }
  38. }
  39. /// <summary>
  40. /// JSON时间序列化yyyy-MM-dd HH:mm
  41. /// </summary>
  42. public class ChinaDateTimeConverterHH : DateTimeConverterBase
  43. {
  44. private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm" };
  45. /// <summary>
  46. /// ReadJson
  47. /// </summary>
  48. /// <param name="reader"></param>
  49. /// <param name="objectType"></param>
  50. /// <param name="existingValue"></param>
  51. /// <param name="serializer"></param>
  52. /// <returns></returns>
  53. public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
  54. {
  55. return dtConverter.ReadJson(reader, objectType, existingValue, serializer);
  56. }
  57. /// <summary>
  58. /// WriteJson
  59. /// </summary>
  60. /// <param name="writer"></param>
  61. /// <param name="value"></param>
  62. /// <param name="serializer"></param>
  63. public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
  64. {
  65. dtConverter.WriteJson(writer, value, serializer);
  66. }
  67. }
  68. /// <summary>
  69. /// JSON时间序列化yyyy-MM-dd
  70. /// </summary>
  71. public class ChinaDateTimeConverterDate : DateTimeConverterBase
  72. {
  73. private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd" };
  74. /// <summary>
  75. /// ReadJson
  76. /// </summary>
  77. /// <param name="reader"></param>
  78. /// <param name="objectType"></param>
  79. /// <param name="existingValue"></param>
  80. /// <param name="serializer"></param>
  81. /// <returns></returns>
  82. public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
  83. {
  84. return dtConverter.ReadJson(reader, objectType, existingValue, serializer);
  85. }
  86. /// <summary>
  87. /// WriteJson
  88. /// </summary>
  89. /// <param name="writer"></param>
  90. /// <param name="value"></param>
  91. /// <param name="serializer"></param>
  92. public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
  93. {
  94. dtConverter.WriteJson(writer, value, serializer);
  95. }
  96. }
  97. }