C# 从日期值检索日期格式

C# 从日期值检索日期格式,c#,C#,我正在接收一些数据到object类型的变量中。在某些情况下,这些数据是日期值。对于该数据,我希望将其转换为字符串,并以与传递时相同的格式返回。在某些情况下,对象可以是datetime,在另一些情况下,对象可以是date only或time only值 一旦我将对象转换为日期或字符串,它显然会被指定为午夜时间,在我的场景中,这可能是一个有效时间(因此我无法测试该时间是否为午夜,在这种情况下,我可以推断它将是一个仅限日期的日期值,也不能对其使用正则表达式,因为始终存在时间元素) Intellisen

我正在接收一些数据到object类型的变量中。在某些情况下,这些数据是日期值。对于该数据,我希望将其转换为字符串,并以与传递时相同的格式返回。在某些情况下,对象可以是datetime,在另一些情况下,对象可以是date only或time only值

一旦我将对象转换为日期或字符串,它显然会被指定为午夜时间,在我的场景中,这可能是一个有效时间(因此我无法测试该时间是否为午夜,在这种情况下,我可以推断它将是一个仅限日期的日期值,也不能对其使用正则表达式,因为始终存在时间元素)

Intellisense正确地向我显示了它(以我希望返回值的格式)

有没有一个简单的方法来实现这一点(希望不使用反射)

许多thx


西蒙

你的问题有点不清楚,但我认为你在寻找这样的问题:

DateTime result;

if (DateTime.TryParse(value, out result))
{
    // use result here
}

在上面的代码中,值是一个字符串,表示输入的数据。只有当字符串是有效的日期时间时,代码才会进入if块。在这一点上,您可以对其进行所需的处理。

有许多方法可以对datetime进行格式化,其中一种简单的方法是以所需的格式从所需的表中获取数据。在这里,您需要显示日期,如果您的格式是dd/MM/yyyy,请尝试此方法

select Convert(varchar(10),StartDate,103) as StartDateformat from table where filtername=@filtername
使用此链接查找其他格式

从局部变量到日期时间转换

DateTime todateformat = Convert.ToDateTime(txttodate.Text.Trim());
以特定格式从DateTime到局部变量的转换

string startdate = todateformat.ToString("dd/MM/yyyy hh:mm:ss");

我不确定我是否理解这个问题,但我建议您看一看,它包含了很多转换/格式化方法,我希望能有所帮助。

添加一些输入和输出示例。你的问题很一般。