0

我得到像 01/05/2012(MM/dd/yyyy) 这样的字符串值,现在我必须转换成日期时间

string s="01/05/2012";
datetime dt=convert.todatetime(s);

现在 dt 值是 2012 年 1 月 5 日,但我必须得到 dt 值 01/05/2012,如何获得值,请给我任何想法。

谢谢赫曼思

4

1 回答 1

1

您正在DateTime正确地创建对象,您只是在查看 DateTime 的内部表示。它的输出方式取决于您为其提供ToString方法的格式字符串。IE:

class Program
{
    static void Main(string[] args)
    {
        string s = "01/05/2012";
        DateTime dt = Convert.ToDateTime(s);
        Console.WriteLine(dt.ToString("MM/dd/yyyy"));
        Console.ReadLine();
    }
}

如果您在DateTime Structure上查看此 MSDN 页面

从上面的链接突出显示我的

DateTime 值及其字符串表示形式

在内部,所有 DateTime 值都表示为自 0001 年 1 月 1 日午夜 12:00:00 以来经过的滴答数(100 纳秒间隔的数量)。实际的 DateTime 值与该值的方式无关当显示在用户界面元素中或写入文件时出现。DateTime 值的出现是格式化操作的结果。格式化是将值转换为其字符串表示形式的过程。

由于日期和时间值的外观取决于文化、国际标准、应用程序要求和个人偏好等因素,DateTime 结构通过其 ToString 方法的重载在格式化日期和时间值方面提供了极大的灵活性。默认的 DateTime.ToString() 方法使用当前区域性的短日期和长时间模式返回日期和时间值的字符串表示形式。

于 2012-11-20T04:02:02.803 回答