【问题标题】:Get Ticks per second and convert to String value?获取每秒刻度并转换为字符串值?
【发布时间】:2010-06-26 12:07:04
【问题描述】:

如何获取 DateTime.UtcNow 的每秒滴答数并将其转换为字符串值?

问题:再试一次Get ten millionths of a second

【问题讨论】:

标签: c# asp.net datetime timespan


【解决方案1】:

DateTime 的特定 没有与之关联的“每秒滴答数”;滴答声无论在哪个DateTime 中都是滴答声。滴答声的长度为 100 纳秒,因此每秒有 10,000,000 个。

现在将它作为字符串获取就像字符串文字“10000000”一样简单......尽管通常您会获得一个数字并只需调用ToString()就可以了。例如,您可以使用:

string ticksPerSecond = TimeSpan.TicksPerSecond.ToString();

您的问题有点奇怪,所以我想知道我们是否遗漏了一些东西……您能否编辑问题,详细说明您正在尝试做什么。例如,您是否尝试确定特定DateTime 的特定秒内 的滴答数?这很容易做到:

long ticks = dt.Ticks % TimeSpan.TicksPerSecond;

【讨论】:

    【解决方案2】:

    您在 TimeSpan 上发现每秒的滴答声是一个常数:

    TimeSpan.TicksPerSecond
    

    虽然不确定你要做什么......

    (DateTime.UtcNow.Ticks / TimeSpan.TicksPerSecond).ToString() // Total number of seconds...
    

    【讨论】:

      【解决方案3】:

      我想你可能想要TimeSpan.TicksPerSecond

      Console.WriteLine("tps = {0}", TimeSpan.TicksPerSecond.ToString());
      

      【讨论】:

        【解决方案4】:

        DateTime 值中每秒的滴答数始终为 10000000。一个滴答为 100 纳秒。

        所以,如果你想把它转换成字符串:

        10000000.ToString()
        

        【讨论】:

        • @simendsjo:是的,我只是想指出该值永远不会改变。你应该避免完全使用这个值,如果你想要一个刻度值作为秒,从它创建一个 DateTime 或 TimeSpan 值并使用它的方法来获取它作为秒。
        猜你喜欢
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-23
        • 1970-01-01
        相关资源
        最近更新 更多