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