微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 每月结算周期的最佳模式

我为我的新计费系统编写了一些代码.目的是在每个月的同一天向客户收费. (不是本月的第1天或最后一天)
static bool NeedToBill(DateTime planLastBilled,DateTime cycleDate)
    {
        // is today the same date as the cycleDate AND is was the planLastBilled not the same day as today?
        if (DateTime.UtcNow.Day.Equals(cycleDate.Day) && !DateTime.UtcNow.Day.Equals(planLastBilled))
            return true;
        else
            return false;
    }

两个陷阱是:

>如果他的cycleDate.Day是31,而当前月只有29天
> cycleDate是2012年2月29日 – 他只会在闰年上收费

这里有一个共同的最佳做法吗?

所以看起来有很多事要检查

>这个帐户本月已经开帐单吗?
>周期日是否存在于当月
>是周期日大于或等于当前日期(这是理想的情况,如果
交易在前一天失败了)

谢谢!

解决方法

只允许选择1到28之间的结算日.根据我的经验,这是大多数信用卡/贷款公司在给出选择时如何处理它.

原文地址:https://www.jb51.cc/csharp/239095.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐