如何将刻度转换为日期格式?

use*_*084 62 c# sql-server asp.net sql-server-2005

我正在将ticks值转换为这样的日期:

Convert(datetime, (MachineGroups.TimeAdded - 599266080000000000)/864000000000);
Run Code Online (Sandbox Code Playgroud)

使用这个我得到:

9/27/2009 10:50:27 PM
Run Code Online (Sandbox Code Playgroud)

但我想要这种格式的日期:

October 1, 2009
Run Code Online (Sandbox Code Playgroud)

我的样本滴答值是

633896886277130000
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

Jas*_*kan 177

可以使用特定的ticks值构造DateTime对象.确定ticks值后,您可以执行以下操作:

DateTime myDate = new DateTime(numberOfTicks);
String test = myDate.ToString("MMMM dd, yyyy");
Run Code Online (Sandbox Code Playgroud)


Eri*_* J. 49

这样做要简单得多:

DateTime dt = new DateTime(633896886277130000);
Run Code Online (Sandbox Code Playgroud)

这使

dt.ToString()="9/27/2009 10:50:27 PM"

您可以使用dt.ToString(MyFormat)以任何方式格式化.有关格式字符串,请参阅此参考."MMMM dd,yyyy"适用于您在问题中指定的内容.

不确定10月1日你到哪里.


Jos*_*ons 5

    private void button1_Click(object sender, EventArgs e)
    {
        long myTicks = 633896886277130000;
        DateTime dtime = new DateTime(myTicks);
        MessageBox.Show(dtime.ToString("MMMM d, yyyy"));
    }
Run Code Online (Sandbox Code Playgroud)

September 27, 2009
Run Code Online (Sandbox Code Playgroud)

这就是你需要的吗?

但是,我看不出这种格式在SQL查询中如何易于使用.