S týmto formátom mám dátum v reťazci "2/11/2013 19:14:00"
(MM / DD / RRRR HH: MM: SS) formát a chcem ho previesť do podobného reťazca 11 February 2013 19:14
Ako to môžem urobiť najúčinnejším spôsobom?
odpovede:
6 pre odpoveď č. 1Ak tvoj 2/11/2013 19:14:00
hodnota je a DateTime
, len naformátujte svoje DateTime
s .ToString()
metóda Páči sa mi to;
dateTimeValue.ToString("dd MMMM yyyy HH:mm", CultureInfo.InvariantCulture);
Ak tvoj 2/11/2013 19:14:00
hodnota je string
, nie a DateTime
, môžete ho analyzovať DateTime
najprv a potom ho môžete formátovať;
string s = "2/11/2013 19:14:00";
DateTime dt;
if(DateTime.TryParseExact(s, "M/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture,
DateTimeStyles.None,
out dt))
{
Console.WriteLine(dt.ToString("dd MMMM yyyy HH:mm",
CultureInfo.InvariantCulture));
}
Tu a demonstration
.
1 pre odpoveď č. 2
Najprv konvertujte svoj string
na a DateTime
:
DateTime dt = DateTime.ParseExact(oldString, "M/dd/yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
potom to skonvertujte DateTime
na a string
:
string newString = dt.ToString("dd MMMM yyyy HH:mm",
CultureInfo.InvariantCulture);
0 pre odpoveď č. 3
Ak je dátum vstupu skutočne a string
, najjednoduchšia vec je previesť ho na DateTime
najprv:
DateTime d = DateTime.ParseExact(oldDateString, "M/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
Potom ho preveďte späť na string
, as Soner už navrhli:
string newDateString = d.ToString("dd MMMM yyyy HH:mm", CultureInfo.InvariantCulture);