首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果用户在textbox2 (即预订日期)后一周内取消门票,将收取总门票费用的5%。

如果用户在textbox2 (即预订日期)后一周内取消门票,将收取总门票费用的5%。
EN

Stack Overflow用户
提问于 2010-12-22 20:34:11
回答 2查看 209关注 0票数 0

我正在使用Visual Studio2008 ASp.NEt 3.5 VB

我的VB.NET网页表单中有两个文本框..

textbox1显示今天的日期和时间为2010年12月22日下午06:00:00

显示预订日期和客户时间的Textbox2假定21010年12月30日下午07:00:00

我想..。

如果用户在textbox2 (即预订日期)前一周取消机票,则不收取任何费用。

如果用户在textbox2 (即预订日期)后一周内取消门票,将收取总门票费用的5%。

如果用户在textbox2 (即订票日)后3天内取消机票,将收取总票价的10%的费用。

如何使用Vb.NET做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-22 20:44:25

这应该可以让你开始

代码语言:javascript
复制
    Function CalcAmt(pDate1 As Date, pDate2 As Date,TicketPrice as Currency) As Currency
    NumDays = DateDiff("d", pDate1, pDate2)

        if NumDays >=7 then
            CalcAmt = 0
        elseif NumDays > 3 then
            CalcAmt = 0.05 * TicketPrice
        else
            CalcAmt = 0.10 * TicketPrice  
        end if
       End Function
票数 0
EN

Stack Overflow用户

发布于 2010-12-22 20:47:43

你只是在问如何在VB .NET中比较日期吗?(我想是这样的,因为“向用户收费”的行为有点超出了我们可以帮助您的范围。)

试试这样的东西(这是徒手的,我手边没有VB编译器,所以它可能不是完全完美的):

代码语言:javascript
复制
Dim currentDate As Date = DateTime.Parse(textbox1.Text)
Dim bookingDate As Date = DateTime.Parse(textbox2.Text)
Dim difference As Integer = bookingDate.Subtract(currentDate).Days

然后,您可以检查difference应用您的逻辑的天数。请记住以下几点:

  1. 这是脆弱的代码。如果您还不熟悉DateTime.TryParse,请考虑使用它。我上面的内容是对exceptions.
  2. Please开放的,不要依赖于表单中文本框的值来计算日期。您可以在服务器上获取当前日期,并且您应该将预订日期存储在数据库或服务器上的某个位置。使用这些。客户可以张贴他或她想张贴的任何日期,以避免收费。永远不能隐式信任用户提交的数据。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4509192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档