Ben vb
framework 3.5 kullanarak asp.net
sitesi geliştiriyorum.
Dize verilerini Tarihe dönüştürmekte zorlanıyorum cdate işlevini kullanmayı denedim,
Bir string değişkeni olan sdate değişkenim var ve textbox'tan gelen tarih dd/mm/yyyy olarak saklanıyor, şimdi bu stringi bir Date değişkenine dönüştürmek istiyorum çünkü bir gün ekleme veya bir gün çıkarma gibi işlemleri gerçekleştirmem gerekiyor.
Lütfen bu konuda nasıl ilerleyeceğim konusunda bana yol gösterin. 3. satırda String geçerli bir DateTime olarak tanınmadı
şeklinde hata alıyorum. Aşağıdaki gibi yapmaya çalıştım ama hata geliyor
Dim sdate As String
Dim expenddt As Date
expenddt = Date.Parse(edate)
expenddt = expenddt.AddDays(-1)
Ancak şu hatayı alıyorum
String'den Date türüne dönüştürme geçerli değil.
Dizeden bir Tarih
i nasıl alabilirim?
Doğru biçim dizesi ile Date.ParseExact
veya Date.TryParseExact
kullanmanız gerekir.
Dim edate = "10/12/2009"
Dim expenddt As Date = Date.ParseExact(edate, "dd/MM/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo)
VEYA
Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"}
Dim expenddt As Date = Date.ParseExact(edate, format,
System.Globalization.DateTimeFormatInfo.InvariantInfo,
Globalization.DateTimeStyles.None)
VEYA
Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"}
Dim expenddt As Date
Date.TryParseExact(edate, format,
System.Globalization.DateTimeFormatInfo.InvariantInfo,
Globalization.DateTimeStyles.None, expenddt)
DateTime.ParseExact yöntemini kullanmayı deneyin; bu yöntemde hem datetime maskesini hem de orijinal ayrıştırılmış dizeyi belirtebilirsiniz. Bu konu hakkında buradan bilgi edinebilirsiniz: MSDN: DateTime.ParseExact
Tarihi şu şekilde dönüştürmeyi deneyin:
Dim expenddt as Date = Date.ParseExact(edate, "dd/mm/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo);
Umarım bu yardımcı olur.