我将刻度值转换为这样的日期:
Convert(datetime, (MachineGroups.TimeAdded - 599266080000000000)/864000000000);
使用这个我得到:
9/27/2009 10:50:27 PM
但是我只想要这种格式的日期:
October 1, 2009
我的样本报价值是
633896886277130000
做这个的最好方式是什么?
我将刻度值转换为这样的日期:
Convert(datetime, (MachineGroups.TimeAdded - 599266080000000000)/864000000000);
使用这个我得到:
9/27/2009 10:50:27 PM
但是我只想要这种格式的日期:
October 1, 2009
我的样本报价值是
633896886277130000
做这个的最好方式是什么?
Answers:
可以使用特定的tick值构造DateTime对象。确定报价价格后,可以执行以下操作:
DateTime myDate = new DateTime(numberOfTicks);
String test = myDate.ToString("MMMM dd, yyyy");
这样做要简单得多:
DateTime dt = new DateTime(633896886277130000);
这使
dt.ToString() ==> "9/27/2009 10:50:27 PM"
您可以使用随意设置格式dt.ToString(MyFormat)
。有关格式字符串,请参考此参考。"MMMM dd, yyyy"
适用于您在问题中指定的内容。
不确定10月1日到哪里。
到目前为止的答案帮助我想到了我的。我对UTC与当地时间保持警惕;刻度线应始终为UTC IMO。
public class Time
{
public static void Timestamps()
{
OutputTimestamp();
Thread.Sleep(1000);
OutputTimestamp();
}
private static void OutputTimestamp()
{
var timestamp = DateTime.UtcNow.Ticks;
var localTicks = DateTime.Now.Ticks;
var localTime = new DateTime(timestamp, DateTimeKind.Utc).ToLocalTime();
Console.Out.WriteLine("Timestamp = {0}. Local ticks = {1}. Local time = {2}.", timestamp, localTicks, localTime);
}
}
输出:
Timestamp = 636988286338754530. Local ticks = 636988034338754530. Local time = 2019-07-15 4:03:53 PM.
Timestamp = 636988286348878736. Local ticks = 636988034348878736. Local time = 2019-07-15 4:03:54 PM.