2011-03-03 22 views
9

03/03/2011 kadar iki tarih ve 03/09/2011 olarak iade tarihim var. İade tarihinden itibaren vade iadesi yaptığımda cezayı iki katına çıkarmak istiyorum. Tazminat artabilir mi?Bir tarihi nasıl artırabilirim?

+3

mydate.AddDays (1); vade tarihini bir gün arttırmak için ... –

+5

Merak ediyorum, bazı Visual Studio sürümünü mi kullanıyorsunuz? Eğer öyleyse, içeriğe duyarlı yardım problemlerinizi çözmenin daha hızlı bir yolu gibi görünüyor. İlk başta bu şekilde görünebilir ama yardım okurken bir geliştirici iyileştirme döngüsünün büyük bir parçasıdır ve yardımı okumak için how_ _learning çalışılması gereken bir beceridir olmayabilir. –

cevap

19

ardından kod size yardımcı olabilir: Geri gönderme, DUEDATE varsayarsak

var dueDate = new DateTime(2011, 3, 3); 

//if you want to increment six days 
var dueDatePlus6Days = dueDate.AddDays(6); 

//if you want to increment six months 
var dueDatePlus6Months = dueDate.AddMonths(6); 

var daysDiff1 = (dueDatePlus6Days - dueDate).TotalDays; //gives 6 
var daysDiff2 = (dueDatePlus6Months - dueDate).TotalDays; //gives 184 
1

DateTime nesneler:

double extraDays = (returnDate - dueDate).TotalDays; 
1

bu

DateTime dt_duedate = DateTime.Now; 
DateTime dt_returndate = DateTime.Now.AddDays(2); 
System.TimeSpan diffResult = dt_returndate.Subtract(dt_duedate); 
1

mantıklı çözüm gibi görünüyor yardımcı olabilir miyim Diğer cevaplarda olduğu gibi AddDays yöntemi ol. Bununla birlikte, parasal veya tarih değerleri ile çalışırken (genel olarak) kayan nokta (yani çift) kullanmamaya çalışıyorum.

DateTime zaman bileşeni içerir ve AddDays (kesir kısmı zaman olur) değişken olarak bir çift alır, bu yüzden bu yöntemin kullanımını önlemek eğilimindedir.

Bunun yerine, bu çok biraz daha hızlı yürütülmesine neden olmalıdır

dueDatePlusOne = dueDate.AddTicks(TimeSpan.TicksPerDay); 

kullanın. hala bugünün donanım üzerinde çok önemli, ama 1970'lerde geri gibi bir < 1 MHz saat hızı ve eski PDP-8 adlı ve -11 en ve malzeme ile mikroişlemciler için kodlama başladı ve bazı alışkanlıkları die asla değil o;)

+0

Sizin AddTicks() da bir daha avantajı var: O (AddDays ise 24h eklediği) gece yarısına kadar keneler ekler, sen AddTicks() zaman bozulmadan tutar, böylece AddDays() oysa 00:00:00 zamanı sıfırlar – RaSor

+0

Bunu denedim çünkü inanmaya güçlük çektim, AddDays (1.0) 24 saat ekler. Visual Studio'da bir VB projesinde hemen pencere:? (# 11/22/2016 01:02:03 #) AddDays (1.0) - sonucu:. # 11/23/2016 01:02:03 #. Now.AddDays (1.0) ile aynı saat, korunur. –

İlgili konular