2009-08-20 18 views
11

İnsan okunabilir zaman çizelgelerini .net TimeSpan'a ayıracak bir kütüphane var mı? C# Kitap okumak için okunabilir süreyi açıklar

Böyle bir şeyin var mı

30 days 
1 week 
5 hours 

gibi dizeleri ayrıştırmak olacak şey lazım? Kendimi yazmak için muhtemelen çok zor değil, ama bir şey varsa, çok daha kolay olurdu!

Şu anda "30 gün, 3 saat, 5 dakika" gibi işleve ihtiyacım yok, sadece tek bir değer, ama acıtmadı!

+0

Burada ayrıştırmaktan ne demek istiyorsunuz? başka bir datetime değerine dönüştürmek? –

+0

Sadece açıklamak gerekirse, "30 gün, 32 saat, 5 dakika" gibi bir şeyi belirtmek güzel olurdu, ancak şu andaki gereksinimlerim yukarıdaki örneklerde olduğu gibi çok basit. – Gareth

+0

@Wael: Evet, bunu bir TimeSpan örneğine ayırmak istiyorum. – Gareth

cevap

3

Bu arada bir çatlak aldım, onlar hakkında hiçbir şey bilmediği için parsers ile oynuyordum, bu yüzden kaliteyi beklemeyin. http://timestamper.codeplex.com/ sığınak

bir süre ona baktım, ama yukarıda bahsedilen her şeyi yapabilirim oldukça emin im: Ama burada kodunu alabilirsiniz.

Düzenleme:

Tıpkı bir zaman aralığı nesnesi tarih kez döndü ve istediğini kaydetti. Sağladığım kod, bugün için bir DateTime (

"2 gün" olarak geri dönecektir: DateTime.Now.AddDays (2);

En azından bence böyle bir şey, emin olabilirsiniz. Bu durumda, sadece iki DateTimes arasındaki zaman çizelgesini alabilmeniz gerekir.

+0

Harika, teşekkürler Owen. Bu arada TimeSpan için bir * çok * basit ayrıştırıcı yazdım ve yazdım, bu etrafta dolaşmak için çok kullanışlı bir kütüphanedir! – Gareth

+2

Endişeye gerek yok.Aslında, daha fazla bir şey yapmak için ihtiyacınız varsa, zaman içinde bir başka oyuna sahip olabilirim. – Owen

+1

@Owen NuGet'te mevcut olsaydı harika olurdu;) – MattDavey

0

Peki, javascript kodunun böyle bir tarihte gerçekten işe yaradığı bu tarihi bilgisini biliyorum. C# kodu için ilham almak için bakabilirsiniz. Bu kadar yardımcı olsa da emin değil; ama ilginç olabilir.

Bkz www.datejs.com

0

bildiğim

bunu yapmak için bir kütüphane aradığını ancak öyle görünüyor Bu sözdizimini seven insanlar yakut geliştiriciler ve iyi Ruby'e bağlılar. Bunu gerçekten yapmak istiyorsanız, biraz daha kolay okunabilir. Net Uzantıları ile basit bir şey yapmak oldukça basit. Bu makaleye bir göz atınız. http://haacked.com/archive/2007/05/24/ruby-like-syntax-in-c-3.0.aspx

Ayrıca, makaledeki sözdizimini sevmiyorsanız, yapmanız gereken tek şey, zaman çizelgesi yapıcı sınıfı tarafından kullanılabilen kenelere dönüştüren bir ayrıştırıcı oluşturmaktır.

0

doğrudan uygulanabilir değil ama my company tarihlerde bunu yapan bir .NETlibrary geliştirmiştir. Açıklık için çalışan bir muadili (daha fazla veya tam olarak ne istediğinizi), “buna ihtiyaç duyduğumuzda” planlanmaktadır. Eğer yeterince ilgi varsa, bu daha erken olabilirdi.

+0

Son kontrol ettim, web sitesi bir kostüm aracı kullanılarak üretildi. ancak bağlantıyı kesmekten kaçınmak için PHP uzantısı hala kullanılıyor. Her neyse, bir şeyler için karışık bir dükkanız. – BCS

+0

Thats çünkü php iyi bir şey, müşteri kapşonun altında çok az ilginç olan web siteleriyle karşı karşıya. – Owen

+0

Bu bağlantının bozuk olduğu anlaşılıyor. Alternatif bir bağlantınız var mı? – derekantrican

İlgili konular