字符串扩展支持日期时间格式转换
This commit is contained in:
parent
641ebc880b
commit
231d546e5d
|
@ -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
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 字符串扩展方法测试
|
||||
/// </summary>
|
||||
|
|
|
@ -39,17 +39,38 @@ namespace Falcon.SugarApi
|
|||
public static string[] SplitStr(this string? str, params char[] splitChars)
|
||||
=> str.IsNullOrEmpty() ? Array.Empty<string>() : str.Split(splitChars.Length == 0 ? new char[] { ',', ',', ';', ';', '.', '。' } : splitChars, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 将字符串转换为DateTime
|
||||
/// 将字符串按格式转换为时间格式
|
||||
/// </summary>
|
||||
/// <param name="str">表示日期时间的字符串</param>
|
||||
/// <param name="dateTimeformat">日期时间格式</param>
|
||||
/// <returns>一个DateTime对象。如果失败返回null</returns>
|
||||
public static DateTime ToDateTime([NotNull] this string str, string dateTimeformat = "") {
|
||||
if (dateTimeformat.IsNullOrEmpty()) {
|
||||
/// <param name="str">时间字符串</param>
|
||||
/// <param name="dateTimeFormat">时间格式</param>
|
||||
/// <param name="culture">区域特性.默认CultureInfo.InvariantCulture</param>
|
||||
/// <returns>时间</returns>
|
||||
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);
|
||||
}
|
||||
/// <summary>
|
||||
/// 尝试将特定格式字符串转换为DateTime类型
|
||||
/// </summary>
|
||||
/// <param name="str">时间字符串</param>
|
||||
/// <param name="dateTimeFormat">时间格式</param>
|
||||
/// <param name="dt">转换后的时间</param>
|
||||
/// <param name="culture">区域特性.默认CultureInfo.InvariantCulture</param>
|
||||
/// <returns>成功True,失败False</returns>
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user