2 回答
TA贡献1856条经验 获得超17个赞
当您在 c# 中执行此操作时:
data.expiryDate.Date - DateTime.Now.Date
你实际上减去了一整天(因为结果是时间)。.Date00:00:00.000
现在,您在 js 中执行以下操作:
moment(data.expiryDate).diff(moment(), 'days')
这里的区别在于你减去了日期和时间。
注意(不使用):.Now.Date
var expiryDate = DateTime.Parse("12/31/2020 10:00:00");
Console.WriteLine((expiryDate.Date - DateTime.Now).TotalDays);
当具有返回的相同代码时返回219.654703995023.Date220
TL;DR:
---------------------------------------------------------------
| moment.js | C# |
---------------------------------------------------------------
|moment() | DateTime.Now |
|moment().startOf('day')| DateTime.Today (=DateTime.Now.Date) |
---------------------------------------------------------------
如果你想要你的javascript部分得到相同的结果,你应该使用(这似乎相当于根据Moment.js |家.startOf('day').Date)
TA贡献1865条经验 获得超7个赞
在 C# 中,TotalDays 表示整数天数和小数天数,返回类型为双倍。转换为int将舍入为最接近的32位有符号整数。在片刻.js,diff 会将结果截断为零位小数,并返回一个整数。但在 2.0.0 之前,diff 返回一个四舍五入到最接近整数的数字,而不是截断的数字。
添加回答
举报