以下javascript的vb.net或c#等价物是什么?
this.browserTime.value = Math.floor((new Date()).getTime() / 1000);
我正在使用httpwebrequest登录网站。
从浏览器记录的PostData标题如下:
goto=¤tSlave=235acbdcd297c9211eef670c6dfbd64d&browserTime=1245052940&username=username&password=password&go=Sign+In
和获取browsertime值的页面上的javascript是:
this.browserTime.value = Math.floor((new Date())。getTime()/ 1000);
感谢
答案 0 :(得分:2)
翻译:
new Date() => DateTime.Now
.getTime() => .Subtract(New DateTime(1970, 1, 1)).TotalMilliseconds
Math.floor() => Math.Floor()
所以在VB中:
seconds As Double = Math.Floor( _
DateTime.Now.Subtract(New DateTime(1970, 1, 1)).TotalMilliseconds / 1000
);
并在C#中:
double seconds = Math.Floor(
DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds / 1000
);
或简单地获取秒而不是获得毫秒并除以VB:
seconds As Double = Math.Floor(
DateTime.Now.Subtract(New DateTime(1970, 1, 1)).TotalSeconds
);
和C#:
double seconds = Math.Floor(
DateTime.Now.Subtract(New DateTime(1970, 1, 1)).TotalSeconds
);
答案 1 :(得分:1)
这取决于你究竟需要什么。你似乎想要一个时间戳。因此,您可以使用
获取它DateTime.Now
如果你真的迫切需要自1970年以来的秒数,那么你必须做一些日期数学,因为.NET时间戳不是基于UNIX时代(无论如何都是一个实现细节)。
答案 2 :(得分:1)
自1970年以来的秒数?
static readonly DateTime epoch = new DateTime(1970, 1, 1);
...
int seconds = (int)Math.Floor((DateTime.Now - epoch).TotalSeconds);
答案 3 :(得分:0)
只是添加约翰内斯的评论,我猜你想要在两个日期之间进行比较。如果是这样,您可以像这样使用TimeSpace类:
DateTime now = DateTime.Now;
DateTime lastWeek = now.Subtract(TimeSpan.FromDays(7));
TimeSpan difference = now - lastWeek;