PrimitiveTypeExtensions.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Microsoft.Extensions.Logging;
  2. using System;
  3. using wms.service.Service;
  4. namespace wms.service.Extensions
  5. {
  6. /// <summary>
  7. /// 专注于扩展基础数据类型(如整数、字符串等)
  8. /// </summary>
  9. public static class PrimitiveTypeExtensions
  10. {
  11. /// <summary>
  12. /// 获取时间
  13. /// </summary>
  14. /// <param name="time">数据源</param>
  15. /// <returns></returns>
  16. public static DateTime GetDateTime(this string time) => GetDateTime(time, null);
  17. /// <summary>
  18. /// 获取时间
  19. /// </summary>
  20. /// <param name="time">数据源</param>
  21. /// <param name="logger">日志服务</param>
  22. /// <returns></returns>
  23. public static DateTime GetDateTime(this string time, ILogger<FJService> logger)
  24. {
  25. DateTime prodate = DateTime.Now;
  26. DateTime item = prodate;
  27. if (DateTime.TryParseExact(time, "yyyyMMddHHmmss", null, System.Globalization.DateTimeStyles.None, out prodate)) prodate = DateTime.ParseExact(time, "yyyyMMddHHmmss", null);
  28. else if (DateTime.TryParseExact(time, "yyyy-MM-dd HH:mm:ss", null, System.Globalization.DateTimeStyles.None, out prodate)) prodate = DateTime.ParseExact(time, "yyyy-MM-dd HH:mm:ss", null);
  29. else
  30. {
  31. if (logger != null)
  32. {
  33. logger.LogInformation("生产日期格式不对,系统默认使用当前时间");
  34. }
  35. prodate = item;
  36. }
  37. return prodate;
  38. }
  39. }
  40. }