浏览代码

扩展 GetDateTime 方法以支持多种日期格式

对 `PrimitiveTypeExtensions` 类中的 `GetDateTime` 方法进行了重载,增加了一个接受 `ILogger<FJService>` 参数的版本。新的方法支持解析 `yyyy-MM-dd HH:mm:ss` 格式的日期字符串。如果两种格式都无法解析,并且提供了 `logger`,则记录一条信息日志,表示生产日期格式不对,系统默认使用当前时间。
林豪 左 9 月之前
父节点
当前提交
301ea3f8f5
共有 1 个文件被更改,包括 3 次插入5 次删除
  1. 3 5
      wms.service/Extensions/PrimitiveTypeExtensions.cs

+ 3 - 5
wms.service/Extensions/PrimitiveTypeExtensions.cs

@@ -9,7 +9,7 @@ namespace wms.service.Extensions
     /// </summary>
     public static class PrimitiveTypeExtensions
     {
-        public static DateTime GetDateTime(this string time) => DateTime.ParseExact(time, "yyyyMMddHHmmss", null);
+        public static DateTime GetDateTime(this string time) => GetDateTime(time, null);
 
         /// <summary>
         ///  获取时间
@@ -21,10 +21,8 @@ namespace wms.service.Extensions
         {
             DateTime prodate = DateTime.Now;
             DateTime item = prodate;
-            if (!string.IsNullOrEmpty(time) && DateTime.TryParseExact(time, "yyyyMMddHHmmss", null, System.Globalization.DateTimeStyles.None, out prodate))
-            {
-                prodate = DateTime.ParseExact(time, "yyyyMMddHHmmss", null);
-            }
+            if (DateTime.TryParseExact(time, "yyyyMMddHHmmss", null, System.Globalization.DateTimeStyles.None, out prodate)) prodate = DateTime.ParseExact(time, "yyyyMMddHHmmss", null);
+            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);
             else
             {
                 if (logger != null)