从日期值中检索日期格式

时间:2011-12-08 12:39:20

标签: c#

我正在将一些数据接收到object类型的变量中。在某些情况下,此数据是日期值。对于该数据,我想将其转换为字符串并以与传递时相同的格式返回。在某些情况下,对象可以是日期时间,在其他情况下,可以是仅日期或仅限时间的值。

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

Intellisense正确地向我显示,即以我希望返回值的格式。

是否有一种简单的方法可以实现这一点(希望不使用反射)

很多thx

西蒙

3 个答案:

答案 0 :(得分:0)

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

DateTime result;

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

在上面的代码中,值是一个表示进入数据的字符串。如果字符串是有效的DateTime,代码将只输入if块。此时,您可以对其进行处理。

答案 1 :(得分:0)

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

select Convert(varchar(10),StartDate,103) as StartDateformat from table where filtername=@filtername

使用此链接查找其他格式Cast and Convert

从局部变量到DateTime转换

DateTime todateformat = Convert.ToDateTime(txttodate.Text.Trim());

从DateTime到本地变量以特定格式转换

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

答案 2 :(得分:0)

我不确定我理解这个问题,但我建议你看一下this conversion example on MSDN,看看Documentation of the DateTime Structur它包含很多转化/格式化方法我希望它有所帮助。