asp.net中两个日期之间的天数

时间:2016-11-04 13:33:34

标签: c# asp.net date datetime

我找到了员工就业日期和当天日期之间的天数,并乘以每日金额。唯一的抱怨是,当我发现两个日期之间的天数时,它会计算自然抽取31天的月份超过31天。我需要交易超过30天,而我得到两个日期之间的日期。

我该怎么做?

4 个答案:

答案 0 :(得分:0)

你想要这样的东西吗?

DateTime date1 = new DateTime(2016, 10, 3);
DateTime date2 = new DateTime(2016, 11, 3);
var numberOfDays = date2.Subtract(date1).TotalDays;

答案 1 :(得分:0)

我希望这是你想要的:

 DateTime firstDay = DateTime.ParseExact("2016-10-03", "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
 DateTime lastDate = DateTime.ParseExact("2016-11-03", "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
 double daysBetween = (lastDate - firstDay).TotalDays;

答案 2 :(得分:0)

如果您只对整月感兴趣,可以使用以下代码

var normalisedDays = ((lastDate.Year - firstDate.Year) * 12 + lastDate.Month - firstDate.Month) * 30;

答案 3 :(得分:0)

在Controll中:

DateTime Date_1 = Date_Start;
DateTime Date_2 = Date_End;
TimeSpan difference = Date_2  - Date_1 ;
var days = difference.TotalDays;

在脚本中:

<script>
function calculateDifference()
{
    var Date_Start= document.getElementById("Date_Start").value;
    var Date_End= document.getElementById("Date_End").value;
    var Date_StartSplit = Date_Start.split("/");
    var Date_EndSplit = Date_End.split("/");

    var StartDate = new Date(Date_StartSplit[2], Date_StartSplit[0] - 1, Date_StartSplit[1]);
    var EndDate = new Date(Date_EndSplit[2], Date_EndSplit[0] - 1, Date_EndSplit[1]);
    var res = Math.abs(StartDate - EndDate) / 1000;
    var days = Math.floor(res / 86400);
    document.getElementById("Nombre_days").value = days;

}
</script>