Używam konwertować jak:Convert.ToDateTime: Jak ustawić format
Convert.ToDateTime(value)
ale muszę datę przekonwertować do formatu jak "mm/yy".
szukam czegoś takiego:
var format = "mm/yy";
Convert.ToDateTime(value, format)
Używam konwertować jak:Convert.ToDateTime: Jak ustawić format
Convert.ToDateTime(value)
ale muszę datę przekonwertować do formatu jak "mm/yy".
szukam czegoś takiego:
var format = "mm/yy";
Convert.ToDateTime(value, format)
Powinieneś raczej użyć jednej DateTime.ParseExact
lub DateTime.TryParseExact
zamiast. Pozwalają określić konkretne formaty. Osobiście wolę Try
-wersje, ponieważ myślę, że produkują ładniejszy kod dla przypadków błędów.
datetime.paeseExact ("12/12", "mm/rr", Cul ..) = {01/01/2012 00:12:00}; – Refael
ale oczekuję {01/12/12} lub {12/12} – Refael
@Refael, musisz przeczytać na [Ciągi niestandardowych dat i formatów czasu] (http://msdn.microsoft.com/en-us/library /8kb3ddd4.aspx). 'mm' to minuty,' MM' to lata. –
Jeśli value
jest string
w tym formacie i chcesz, aby przekształcić go w DateTime
obiektu, można użyć DateTime.ParseExact
metody statycznej:
DateTime.ParseExact(value, format, CultureInfo.CurrentCulture);
Przykład:
string value = "12/12";
var myDate = DateTime.ParseExact(value, "MM/yy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
Console.WriteLine(myDate.ToShortDateString());
Wynik:
2012-12-01
Próbuję tego: string value = "12/12"; format = "mm/rr"; następnie datetime.paeseExact (wartość, format, Cul ..) = return {01/01/2012 00:12:00}. czemu ? – Refael
Więc 'DateTime.ParseExact (wartość," mm/rr ", CultureInfo.CurrentCulture);' powinien działać. – MarcinJuraszek
Spodziewam się {01/12/12} lub {12/12} – Refael
DateTime
nie ma formatu. format odnosi się tylko wtedy, gdy jesteś obracając DateTime
na sznurku, co zdarza się niejawnie pokazać wartości na formularzu, strony internetowej itp
Spójrz na gdzie jesteś wyświetlania DateTime i ustawić format tam (lub popraw pytanie, jeśli potrzebujesz dodatkowych wskazówek).
Jak ten temat:
string test = "01-12-12";
try{
DateTime dateTime = DateTime.Parse(test);
test = dateTime.ToString("dd/yyyy");
}
catch (FormatException exc)
{
MessageBox.Show(exc.Message);
}
Gdzie Test będzie równa "12/2012"
Nadzieję, że to pomaga!
Przeczytaj HERE.
Można użyć Convert.ToDateTime jest to pokazano na How to convert a Datetime string to a current culture datetime string
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
'DateTime' obiekty nie mają format określony. Możesz wypuścić DataTime w formacie, czy to masz na myśli? –