如何合并日期和时间并传递到CRM DateTime字段

问题描述 投票:0回答:1

我在(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);
        }
    }
}
c# datetime crm microsoft-dynamics
1个回答
0
投票

如何将日期和时间部分组装成一个字符串,并尝试类似的事情:

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
© www.soinside.com 2019 - 2024. All rights reserved.