2010-04-16 11 views

cevap

23

böyle Goes:

TimeSpan test = DateTime.Now - new DateTime(2010, 01, 01); 
    MessageBox.Show(test.TotalSeconds.ToString()); 

bir liner eğlence için: Sadece zaman dilimi sorunları önlemek için

MessageBox.Show((DateTime.Now - new DateTime(2010, 01, 01)) 
    .TotalSeconds.ToString()); 
+1

@Psytronic için farketmez. Sonra MessageBox.Show ((DateTime.Now - yeni DateTime (2010, 01, 01)). TotalSeconds.ToString()); 'her türlü oy almalıdır. –

+0

ViewData ["counter-multiplier"] = (DateTime.Now - yeni DateTime (2010, 01, 01)) TotalSeconds.ToString(); – craigmoliver

15

Sen 2 DateTime örneklerini substract ve bir TimeSpan alabilirsiniz:

DateTime date = new DateTime(2010,1,1); 
TimeSpan diff = DateTime.Now - date; 
double seconds = diff.TotalSeconds; 
+0

Bu DST kanıtı mı? – dtb

+0

DST – craigmoliver

2

TimeSpan t = (DateTime.UtcNow - new DateTime(2010, 1, 1)); 

int timestamp = (int) t.TotalSeconds; 

Console.WriteLine (timestamp); 
+4

kazanır UTC/GMT'de olmadığınızı varsayarsak, bu durum saat dilimi sorunlarına neden olur. 1/1/2010'u UTC'ye de çevirmeniz gerekiyor ('new DateTime (2010, 1, 1) .ToUniversalTime()'). Büyük sorun, bunun için gün ışığından yararlanma konusunda endişelenmeniz gerekebilir. –

1
protected void Page_Load(object sender, EventArgs e) 
{ 
    SecondsSinceNow(new DateTime(2010, 1, 1, 0, 0, 0)); 
} 

private double SecondsSinceNow(DateTime compareDate) 
{ 
    System.TimeSpan timeDifference = DateTime.Now.Subtract(compareDate); 
    return timeDifference.TotalSeconds; 
} 
0
DateTime t1 = DateTime.Now; 
DateTime p = new DateTime(2010, 1, 1); 

TimeSpan d = t1 - p; 

long s = (long)d.TotalSeconds; 
MessageBox.Show(s.ToString()); 
2

Gerçekten kimin 2010-Jan-01 kullanıyor ve olsun ya da olmasın Gün ışığından yararlanma hesap isteyen meselesi.

 
Difference with Daylight Savings:  105.15:44:09.7003571 
Difference without Daylight Savings: 105.14:44:09.7003571 
UTC Difference:      105.20:44:09.7003571 

//I'm currently in Central Daylight Time (Houston, Texas) 
DateTime jan1 = new DateTime(2010, 1, 1); 

//days since Jan1 + time since midnight 
TimeSpan differenceWithDaylightSavings = DateTime.Now - jan1; 

//one hour less than above (we "skipped" those 60 minutes about a month ago) 
TimeSpan differenceWithoutDaylightSavings = (DateTime.UtcNow - jan1.ToUniversalTime()); 

//difference for those using UTC and 2010-Jan-01 12:00:00 AM UTC as their starting point 
// (today it's 5 hours longer than differenceWithDaylightSavings) 
TimeSpan utcDifference = (DateTime.UtcNow - new DateTime(2010, 1, 1)); 

saniye ZamanGeçişi nesnesi kapalı TotalSeconds özelliğini kullanın almak için.

İlgili konular