【问题标题】:Remove Seconds from DateTime c#从 DateTime c# 中删除秒
【发布时间】:2017-03-12 17:22:34
【问题描述】:

我有一段代码可以将 unix 时间戳值转换为标准时间,但它会返回小时、分钟和秒。我希望它只返回小时和分钟。

convertSunriseTime = UnixTimeStampToDateTime(currentSunriseTime).ToString();
convertSunsetTime = UnixTimeStampToDateTime(currentSunsetTime).ToString();

private static TimeSpan UnixTimeStampToDateTime(long unixTimeStamp)
{
    DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
    dtDateTime = dtDateTime.AddSeconds(unixTimeStamp);
    return dtDateTime.TimeOfDay;
}

当变量convertSunriseTimeconvertSunsetTime 以秒返回时。

【问题讨论】:

  • 所以您希望结果的精度 仅限于分钟?您想如何处理非整数分钟的舍入时间戳?
  • 还有几个小时。的格式为 HH:mm。我真的不介意这只是一两分钟。
  • 我认为您将值与格式混淆了。我们可以告诉您如何将该值四舍五入到整数分钟,但 TimeSpan 本质上仍然具有相同的精度。是否要格式化该值,使​​其仅显示小时和分钟?
  • 是的,这正是我想要的。

标签: c# datetime unix-timestamp


【解决方案1】:

因此,您希望将值格式化为显示小时和分钟。你可以这样做:

convertSunriseTime = UnixTimeStampToDateTime(currentSunriseTime).ToString("hh\\:mm");

这里,ToString() 方法的参数指定您只对将小时和分钟部分放入生成的string 感兴趣。这称为custom TimeSpan format string。还有一套标准的:Standard TimeSpan format strings

【讨论】:

    【解决方案2】:

    这可以完成工作:

    private static TimeSpan UnixTimeStampToDateTime(long unixTimeStamp)
    {
        DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
        dtDateTime = dtDateTime.AddSeconds(unixTimeStamp);
        dtDateTime = DateTime.FromMinutes((int)dtdateTime.TotalMinutes);
        return dtDateTime.TimeOfDay;
    }
    

    【讨论】:

      【解决方案3】:
      你可以试试这个方法

      convertSunriseTime = UnixTimeStampToDateTime(currentSunriseTime).ToString();
      convertSunsetTime = UnixTimeStampToDateTime(currentSunsetTime).ToString();
      <pre>private static TimeSpan UnixTimeStampToDateTime(long unixTimeStamp) </pre>
      <pre>{</pre>
              <pre>DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);</pre>
          <pre>dtDateTime = dtDateTime.AddSeconds(unixTimeStamp);</pre>
              <pre>return dtDateTime.TimeOfDay;</pre>
      <pre>}</pre>
      

      【讨论】:

        猜你喜欢
        • 2021-09-06
        • 1970-01-01
        • 2017-08-21
        • 2011-05-23
        • 2012-08-29
        • 2016-11-16
        • 2013-04-25
        • 2021-05-26
        • 1970-01-01
        相关资源
        最近更新 更多