C# 如何将datetime转换为我从客户端获得的输出
我有一个变量作为属性,如下所示:C# 如何将datetime转换为我从客户端获得的输出,c#,C#,我有一个变量作为属性,如下所示: DateTime? something; something = Convert.ToDateTime(d1); 其中,d1='2020年4月20日下午12:50' 我得到一个运行时错误: 字符串未被识别为有效的datetime 然后我尝试了以下代码: something = DateTime.TryParseExact(d1, "MM/dd/yyyy HH:mm tt", null); 并获取编译时错误: 方法“TryParseEx
DateTime? something;
something = Convert.ToDateTime(d1);
其中,d1='2020年4月20日下午12:50'代码>
我得到一个运行时错误:
字符串未被识别为有效的datetime
然后我尝试了以下代码:
something = DateTime.TryParseExact(d1, "MM/dd/yyyy HH:mm tt", null);
并获取编译时错误:
方法“TryParseExact”不重载3个参数
然后我也试着像下面那样转换它
something = DateTime.TryParseExact(d1, "MM/dd/yyyy HH:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dt);
并得到另一个编译时错误:
无法将类型bool
隐式转换为System.DateTime?
如何将nullable datetime
转换为getdatetime
格式
TryParseExact返回一个bool,yout datetime对象是dt
public static void Main()
{
string d1 = "04/20/2020 12:50 PM";
var result = DateTime.TryParseExact(d1, "MM/dd/yyyy HH:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dt);
Console.WriteLine(dt);
}
看
参数
s String包含要转换的日期和时间的字符串
格式字符串s的所需格式
provider IFormatProvider提供特定于区域性的对象
格式化有关s的信息
样式DateTimeStyles一个或多个枚举的按位组合
指示s的允许格式的值
结果
DateTime此方法返回时,包含DateTime值
相当于s中包含的日期和时间,如果转换为
已成功,如果转换失败,则返回MinValue。转换失败
如果s或format参数为null、为空字符串,或
不包含与模式对应的日期和时间
以格式指定。此参数在未初始化的情况下传递
如果s已成功转换,则返回布尔值true;否则
错
异常参数异常样式不是有效的DateTimeStyles
价值观
-或-
样式包含无效的DateTimeStyles值组合(对于
例如,假设本地和假设通用)
因此,我们需要检查成功或失败,并处理它
DateTime? something;
if(DateTime.TryParseExact(d1, "MM/dd/yyyy HH:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dt))
something = dt;
else
something = null;
这是TryParseExact
publicstaticvoidmain()
{
字符串d1=“04/20/2020 12:50 PM”;
如果(DateTime.TryParseExact(d1,“MM/dd/yyyy HH:MM tt”,
CultureInfo.InvariantCulture,datetimestyle.None,out DateTime dt);
Console.WriteLine(“日期-时间确定:+dt”);
其他的
Console.WriteLine(“无效日期时间:+d1”);
}
See这是否回答了您的问题@Hamid Reza Mohammadi It’s not working…表示3参数化方法不可用配置错误描述:处理此请求所需的配置文件时出错。请查看下面的特定错误详细信息,并适当修改配置文件。分析器错误消息:找不到CodeDom提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,版本=1.0.0.0,区域性=neutral,PublicKeyToken=31bf3856ad364e35”。还有2行long@HamidReza Mohammadi一世更新了图像,正在解决错误,但我不希望得到的是..根据2020年4月20日下午12:50,如果获取错误,则此格式为。。在dt 01-01-0001 00:00中:00@abbasahmedDateTime
是struct,具有默认值。因此,如果此方法失败,结果
参数值为{1/1/0001 12:00:00 AM}。您必须根据需要处理此函数的成功或失败。那么如何将其保存在数据库中?只需删除整个system.codedom
部分即可。你是手工编译代码的吗?@abbasahmed好极了。在应用程序中找到web.config并删除此文件setting@abbasahmed右键单击解决方案,然后单击重建。或者在build菜单中执行同样的操作,以便进行检查
DateTime? something;
if(DateTime.TryParseExact(d1, "MM/dd/yyyy HH:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dt))
something = dt;
else
something = null;