【问题标题】:TimeSpan to UTC millisecondsTimeSpan 到 UTC 毫秒
【发布时间】:2017-12-11 05:42:40
【问题描述】:

我目前有一个TimeSpan 变量,它保存从TimePicker 设置的时间。我需要一个类似于TimeSpan.TotalMilliseconds() 给出的long,但相对于UTC,我需要它。

我看到了一些策略,例如转换为DateTime,然后使用DateTime.ToUniversalTime(),但在转换后我还没有成功获得总毫秒数。我尝试采用新的 UTC DateTime 并使用 DateTime.TimeOfDay() 将其放回 TimeSpan 类型,然后再次使用 TimeSpan.TotalMilliseconds() 但它不起作用。

有什么想法吗?

【问题讨论】:

    标签: android datetime xamarin xamarin.android timespan


    【解决方案1】:

    我也遇到了同样的问题。将此用于您的日期选择器方法-

    DateTime.setTimeZone(java.util.TimeZone.getTimeZone("UTC"));
    DateTime.set(final_year, final_month, final_day, final_hour, final_minute,0);
    private long datetime=DateTime.getTimeInMillis();
    String dt= String.valueOf(datetime);
    

    我认为这将解决您的问题!

    【讨论】:

      【解决方案2】:

      你可以用这个方法

      public double MilliTimeStamp(DateTime TheDate)
              {
                  DateTime d1 = new DateTime(1970, 1, 1);
                  DateTime d2 = TheDate.ToUniversalTime();
                  TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
                  return ts.TotalMilliseconds;
              }
      

      【讨论】:

      • 谢谢!必须添加此行以获取 TimeSpan 而不是 DateTime DateTime dt = DateTime.Today + timeSpan;,然后将其转换为通用时间。
      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 2012-05-22
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      相关资源
      最近更新 更多