将周和年转换为毫秒

时间:2014-03-06 10:33:22

标签: c#

正如标题所说,我需要转换自1970年以来的数周和数年到毫秒。在.Net中执行此操作的最佳方法是什么? 我只有一些事件发生的周和年的信息。周星期一星。我认为DateTime不是答案,因为它无法处理一年中的这一周。 我需要的是像方法double getMili(int week, int year)。 不管怎样,谢谢

1 个答案:

答案 0 :(得分:6)

你可以这样说:

  // Let's convert 15th Monday in 2014
  int MondaysNumber = 15;

  DateTime source = new DateTime(2014, 1, 1);

  int delta = 7 + DayOfWeek.Monday - source.DayOfWeek;

  if (delta >= 7)
    delta -= 7;

  source = source.AddDays((MondaysNumber - 1) * 7 + delta);

  // Finally, convert it into milliseconds 
  Double result = (source - new DateTime(1970, 1, 1)).TotalMilliseconds;