2017-05-08 102 views
2

我已成功實施以拒絕過去的日期時間。現在我想接受長達一個月的日期,即從今天起只有30天。我怎樣才能在C#中實現它?以下代碼僅接受未來的日期。如何接受距離今天一個月的日期?

public class FutureDate : ValidationAttribute 
    { 
     public override bool IsValid(object value) 
     { 
      DateTime dateTime; 
      var isValid = DateTime.TryParseExact(Convert.ToString(value), 
       "d MMM yyyy", 
       CultureInfo.CurrentCulture, 
       DateTimeStyles.None, 
       out dateTime 
      ); 
      return (isValid && dateTime > DateTime.Now); 
     } 
    } 
+4

'&& dateTime <= DateTime.AddDays(30)'(或'AddMonths(1)') –

+0

謝謝Stephen。它實際上是DateTime.Now.AddDays(30)。謝謝! –

+0

添加一個月而不是固定的天數,這將更好地處理所有情況。另外,如果您完全不擔心時區,則此功能只能以最高精度工作:P –

回答

1

我找到了解決方案。

return (isValid && dateTime > DateTime.Now && dateTime <= DateTime.Now.AddDays(30)); 
+1

但是** ** **和那個有31天的月份呢。 – Ashiquzzaman

相關問題