diff --git a/Falcon.SugarApi.Test/StringExtendTest.cs b/Falcon.SugarApi.Test/StringExtendTest.cs
index 2851890..1c9779e 100644
--- a/Falcon.SugarApi.Test/StringExtendTest.cs
+++ b/Falcon.SugarApi.Test/StringExtendTest.cs
@@ -1,13 +1,8 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Falcon.SugarApi;
namespace Falcon.SugarApi.Test
{
+
///
/// 字符串扩展方法测试
///
diff --git a/Falcon.SugarApi/StringExtend.cs b/Falcon.SugarApi/StringExtend.cs
index 4da479d..ec0b773 100644
--- a/Falcon.SugarApi/StringExtend.cs
+++ b/Falcon.SugarApi/StringExtend.cs
@@ -39,17 +39,38 @@ namespace Falcon.SugarApi
public static string[] SplitStr(this string? str, params char[] splitChars)
=> str.IsNullOrEmpty() ? Array.Empty() : str.Split(splitChars.Length == 0 ? new char[] { ',', ',', ';', ';', '.', '。' } : splitChars, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
+
///
- /// 将字符串转换为DateTime
+ /// 将字符串按格式转换为时间格式
///
- /// 表示日期时间的字符串
- /// 日期时间格式
- /// 一个DateTime对象。如果失败返回null
- public static DateTime ToDateTime([NotNull] this string str, string dateTimeformat = "") {
- if (dateTimeformat.IsNullOrEmpty()) {
+ /// 时间字符串
+ /// 时间格式
+ /// 区域特性.默认CultureInfo.InvariantCulture
+ /// 时间
+ public static DateTime ToDateTime(this string str, string dateTimeFormat = "", CultureInfo? culture = null) {
+ culture ??= CultureInfo.InvariantCulture;
+ if (dateTimeFormat.IsNullOrEmpty()) {
return DateTime.Parse(str);
}
- return DateTime.ParseExact(str, dateTimeformat, CultureInfo.CurrentCulture);
+ return DateTime.ParseExact(str, dateTimeFormat, culture);
+ }
+ ///
+ /// 尝试将特定格式字符串转换为DateTime类型
+ ///
+ /// 时间字符串
+ /// 时间格式
+ /// 转换后的时间
+ /// 区域特性.默认CultureInfo.InvariantCulture
+ /// 成功True,失败False
+ public static bool TryToDateTime(this string str, string dateTimeFormat, out DateTime dt, CultureInfo? culture = null) {
+ try {
+ dt = str.ToDateTime(dateTimeFormat, culture);
+ return true;
+ }
+ catch (Exception) {
+ dt = default;
+ return false;
+ }
}
}
}