首页 > 解决方案 > System.FormatException:字符串未被识别为 IOS xamarin 表单中的有效日期时间

问题描述

我在 appcenter 中的以下代码上收到了一条消息,例如“字符串未被识别为有效的日期时间”,最近一天我没有重新创建和修复此问题。如何解决这个问题

DateTimeParse.ParseExact(System.ReadOnlySpan 1[T] s, System.ReadOnlySpan1[T] 格式,System.Globalization.DateTimeFormatInfo dtfi,System.Globalization.DateTimeStyles 样式)

DateTime.ParseExact(System.String s,System.String 格式,System.IFormatProvider 提供程序)

string str = (string)value;
            if (!string.IsNullOrEmpty(str))
            {
                try
                {
                    DateTime parsed = DateTime.MinValue.Date;

                    if (DateTime.TryParseExact(str, DateString.strDMY, AppState.CultureInfo, DateTimeStyles.RoundtripKind, out parsed))
                    {
                        if (parsed.Date.Year <= 1900)
                        {
                            return default(DateTime?);
                        }

                        return parsed;
                    }
                    else if (str.Contains("/"))
                    {
                        if (str.Contains(":"))
                        {
                            return DateTime.ParseExact(str, DateString.SlashDMYHMS, AppState.CultureInfo);
                        }

                        return DateTime.ParseExact(str, DateString.SlashDMY, AppState.CultureInfo);
                    }
                    else
                    {
                        char[] splChar = { '.', '-', '_', ',' };
                        //VHC-8547
                        string valueformat = ". ";
                        if (str.Contains(valueformat))
                            str = str.Replace(valueformat, ".");
                        foreach (char spl in splChar)
                        {
                            if (str.Contains(spl.ToString()))
                            {
                                str = str.Replace(spl, '/');
                                if (str.Contains(":"))
                                {
                                    return DateTime.ParseExact(str, DateFormat.formats, CultureInfo.InvariantCulture, DateTimeStyles.None);
                                }

                                return DateTime.ParseExact(str, DateFormat.formats, CultureInfo.InvariantCulture, DateTimeStyles.None);
                            }
                        }
                    }

标签: stringdatetimexamarinxamarin.formsxamarin.ios

解决方案


推荐阅读