1

我正在从旧的 VB 转换为 .NET C#,并在 C# 代码中得到以下内容。以下几行是什么意思?我知道这与日期和时间差异有关,但我无法做出确切的比较。请帮我。

DateTime now = DateTime.Now;

int num = (int)((0xe10L - DateAndTime.DateDiff(DateInterval.Second, Client.last_use_date, now, FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1)) + 30L);

是什么0xe10L意思,它被比作什么?怎么样30L

if (DateAndTime.DateDiff(DateInterval.Minute, current.last_use_date, now, FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1) >= 0x3dL)

是什么0x3dL意思?

4

2 回答 2

2

有两个部分:

  • 0x3D 是整数的十六进制值(在本例中为十进制 61)
  • “L”表示长(即 64 位,而不是 32 位)。

显式 long 的原因是因为 DateDiff 返回一个 long。

于 2013-08-23T03:08:22.220 回答
1

它是十进制值的十六进制表示,例如 3600。 (0x => hex E10 = 3600) 是一小时的秒数。

0x3D 表示 61,因此第二个等式检查 > 1 小时(> 61 分钟)。

于 2013-08-23T03:05:40.327 回答