我在(dd / MM / yyy)输入中为Date
有2个单独的字段,而作为数字输入(2359)有Time
字段。
请问如何将两个字段组合在一起,以便可以将其解析为CRM中的Date and Time
字段?
下面是我当前的摘录:
//dateValue
if (DateTime.TryParseExact(dateValue.ToString().Trim(), dateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out _))
{
//timeValue (2359)
if (!(string.IsNullOrEmpty(timeValue)))
{
bool isNumeric = int.TryParse(timeValue.ToString().Trim(), out _);
if (isNumeric)
{
//dateTimeValue = dateValue + timeValue
myEntity.Attributes[dateTimeField] = Convert.ToDateTime(dateTimeValue .ToString().Trim(), System.Globalization.CultureInfo.GetCultureInfo("hi-IN").DateTimeFormat);
}
}
}
如何将日期和时间部分组装成一个字符串,并尝试类似的事情:
using System;
using System.Globalization;
public class Program
{
public static void Main()
{
Console.WriteLine(ParseDateAndTime("24/04/2020", 2359));
Console.WriteLine(ParseDateAndTime("1/1/2025", 1234));
Console.WriteLine(ParseDateAndTime("15/7/1999", 123));
Console.WriteLine(ParseDateAndTime("14/11/2005", null));
}
private static DateTime ParseDateAndTime(string dateValue, int? timeValue)
{
var combinedDate = $"{dateValue} {(timeValue ?? 0) / 100}:{(timeValue ?? 0) % 100}";
return DateTime.ParseExact(combinedDate, "d/M/yyyy H:m", CultureInfo.InvariantCulture);
}
}
上面的输出(以我自己的本地化美国月份-日期-日期,AM / PM格式:
4/24/2020 11:59:00 PM
1/1/2025 12:34:00 PM
7/15/1999 1:23:00 AM
11/14/2005 12:00:00 AM