所以我正在制作非常簡單的控制臺應用程式,用于根據您的情況為您的航班應用折扣。在一種情況下,如果航班日期介于 YYYY/12/20 – YYYY( 1)/01/10 和 YYYY/03/20 – YYYY/04/10 之間,我無法添加折扣,但我不是真的確定如何處理。我想過這樣指定它:
DateTime springSeasonStart = new DateTime(DateTime.Now.Year, 03, 20);
DateTime springSeasonEnd = new DateTime(DateTime.Now.Year, 04, 10);
然后檢查 myflightDate是否介于springSeasonStart和之間springSeasonEnd。如果是,折扣將不適用,但它實際上不起作用,因為無法指定年份,只能指定月份和日期。那么我該怎么做才能達到我所需要的呢?
uj5u.com熱心網友回復:
檢查開始月份是否大于結束月份。如果它大于明年,則您需要為結束日期添加 1 年。
var date = new DateTime(2021, 12, 25); // flight date
// season start
var monthStart = 12;
var dayStart = 20;
// season end
var monthEnd = 1;
var dayEnd = 10;
var yearEndModifier = monthStart > monthEnd ? 1 : 0; // 1 if next year
var SeasonStart = new DateTime(date.Year, monthStart, dayStart);
var SeasonEnd = new DateTime(date.Year yearEndModifier, monthEnd, dayEnd);
if (date >= SeasonStart && date <= SeasonEnd)
Console.WriteLine("Discount");
else
Console.WriteLine("No Discount");
在第二種情況 YYYY/03/20 – YYYY/04/10 中,yearEndModifier = 0,因為開始月份小于結束月份。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/370309.html
