Antworten:
DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive
DateTime.Parse()
?
format
wird auch zwischen Groß- und Kleinschreibung unterschieden, dhDateTime.ParseExact(stringValue, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Diese Seite hat große Beispiele , check it out
// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
String.Format("{0:m mm}", dt); // "5 05" minute
String.Format("{0:s ss}", dt); // "7 07" second
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}", dt); // "3/9/2008"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
// day/month names
String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008"
// two/four digit year
String.Format("{0:MM/dd/yy}", dt); // "03/09/08"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
Standard DateTime Formatierung
String.Format("{0:t}", dt); // "4:05 PM" ShortTime
String.Format("{0:d}", dt); // "3/9/2008" ShortDate
String.Format("{0:T}", dt); // "4:05:07 PM" LongTime
String.Format("{0:D}", dt); // "Sunday, March 09, 2008" LongDate
String.Format("{0:f}", dt); // "Sunday, March 09, 2008 4:05 PM" LongDate+ShortTime
String.Format("{0:F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
String.Format("{0:g}", dt); // "3/9/2008 4:05 PM" ShortDate+ShortTime
String.Format("{0:G}", dt); // "3/9/2008 4:05:07 PM" ShortDate+LongTime
String.Format("{0:m}", dt); // "March 09" MonthDay
String.Format("{0:y}", dt); // "March, 2008" YearMonth
String.Format("{0:r}", dt); // "Sun, 09 Mar 2008 16:05:07 GMT" RFC1123
String.Format("{0:s}", dt); // "2008-03-09T16:05:07" SortableDateTime
String.Format("{0:u}", dt); // "2008-03-09 16:05:07Z" UniversalSortableDateTime
/*
Specifier DateTimeFormatInfo property Pattern value (for en-US culture)
t ShortTimePattern h:mm tt
d ShortDatePattern M/d/yyyy
T LongTimePattern h:mm:ss tt
D LongDatePattern dddd, MMMM dd, yyyy
f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
g (combination of d and t) M/d/yyyy h:mm tt
G (combination of d and T) M/d/yyyy h:mm:ss tt
m, M MonthDayPattern MMMM dd
y, Y YearMonthPattern MMMM, yyyy
r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
s SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
u UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
(*) = culture independent
*/
Aktualisieren Sie mit dem String-Interpolationsformat c # 6
// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
$"{dt:y yy yyy yyyy}"; // "8 08 008 2008" year
$"{dt:M MM MMM MMMM}"; // "3 03 Mar March" month
$"{dt:d dd ddd dddd}"; // "9 09 Sun Sunday" day
$"{dt:h hh H HH}"; // "4 04 16 16" hour 12/24
$"{dt:m mm}"; // "5 05" minute
$"{dt:s ss}"; // "7 07" second
$"{dt:f ff fff ffff}"; // "1 12 123 1230" sec.fraction
$"{dt:F FF FFF FFFF}"; // "1 12 123 123" without zeroes
$"{dt:t tt}"; // "P PM" A.M. or P.M.
$"{dt:z zz zzz}"; // "-6 -06 -06:00" time zone
// month/day numbers without/with leading zeroes
$"{dt:M/d/yyyy}"; // "3/9/2008"
$"{dt:MM/dd/yyyy}"; // "03/09/2008"
// day/month names
$"{dt:ddd, MMM d, yyyy}"; // "Sun, Mar 9, 2008"
$"{dt:dddd, MMMM d, yyyy}"; // "Sunday, March 9, 2008"
// two/four digit year
$"{dt:MM/dd/yy}"; // "03/09/08"
$"{dt:MM/dd/yyyy}"; // "03/09/2008"
yyyyMMddHHmm[+-]ZZzz
wobei der [+ -] ZZzz-Teil die Zeitzone ist (die Anzahl der Stunden, die vom GMT-Datum hinzugefügt oder abgezogen werden müssen)
zzz
ist -06: 00 , ich möchte-0600
.Replace(":", "")
$"{dt:yyyyMMddHHmmzzz}".Replace(":", "")
als Workaround versucht
dt.ToString("...");
, wo durch "..."
ein Format oben ersetzen , z. "yyyy-MM-dd"
.
Sie haben das Format praktisch selbst geschrieben.
yourdate.ToString("yyyyMMddHHmmss")
Alles andere sollte selbsterklärend sein.
Sie müssen nur zwischen Monaten (MM) und Minuten (mm) vorsichtig sein:
DateTime dt = DateTime.Now; // Or whatever
string s = dt.ToString("yyyyMMddHHmmss");
(Beachten Sie auch, dass HH eine 24-Stunden-Uhr ist, während hh eine 12-Stunden-Uhr ist, normalerweise in Verbindung mit t oder tt für den am / pm-Bezeichner.)
Wenn Sie dies als Teil einer zusammengesetzten Formatzeichenfolge tun möchten, verwenden Sie:
string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);
Weitere Informationen zu benutzerdefinierten Datums- und Uhrzeitformaten finden Sie auf der MSDN-Seite .
now.ToString("yyyyMMdd_HHmmss")
? Ich meine, ist es möglich, mit anderen Zeichen zu verketten, richtig?
Sie können eine benutzerdefinierte Formatzeichenfolge verwenden:
DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");
Ersetzen Sie "HH" durch "hh", wenn Sie keine 24-Stunden-Uhrzeit wünschen.
In können .Net Standard 2
Sie DateTime
wie folgt formatieren:
DateTime dt = DateTime.Now;
CultureInfo iv = CultureInfo.InvariantCulture;
// Default formats
// D - long date Tuesday, 24 April 2018
// d - short date 04/24/2018
// F - full date long Tuesday, 24 April 2018 06:30:00
// f - full date short Tuesday, 24 April 2018 06:30
// G - general long 04/24/2018 06:30:00
// g - general short 04/24/2018 06:30
// U - universal full Tuesday, 24 April 2018 06:30:00
// u - universal sortable 2018-04-24 06:30:00
// s - sortable 2018-04-24T06:30:00
// T - long time 06:30:00
// t - short time 06:30
// O - ISO 8601 2018-04-24T06:30:00.0000000
// R - RFC 1123 Tue, 24 Apr 2018 06:30:00 GMT
// M - month April 24
// Y - year month 2018 April
Console.WriteLine(dt.ToString("D", iv));
// Custom formats
// M/d/yy 4/8/18
// MM/dd/yyyy 04/08/2018
// yy-MM-dd 08-04-18
// yy-MMM-dd ddd 08-Apr-18 Sun
// yyyy-M-d dddd 2018-4-8 Sunday
// yyyy MMMM dd 2018 April 08
// h:mm:ss tt zzz 4:03:05 PM -03
// HH:m:s tt zzz 16:03:05 -03:00
// hh:mm:ss t z 04:03:05 P -03
// HH:mm:ss tt zz 16:03:05 PM -03
Console.WriteLine(dt.ToString("M/d/yy", iv));
string date = DateTime.Now.ToString("dd-MMM-yy"); //05-Aug-13
Ich bin überrascht, dass niemand einen Link dafür hat. Jedes Format kann anhand der folgenden Richtlinien erstellt werden:
Benutzerdefinierte Zeichenfolgen für Datums- und Uhrzeitformat
Verwenden Sie für Ihr spezielles Beispiel (wie andere angegeben haben) so etwas wie
my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);
Wobei my_format eine beliebige Zeichenfolgenkombination aus y, M, H, m, s, f, F und mehr sein kann! Überprüfen Sie den Link.
Holen Sie sich das Datum als DateTime
Objekt anstelle eines Strings. Dann können Sie es formatieren, wie Sie möchten.
Eine einfache Methode, volle Kontrolle über 'von Typ' und 'zu Typ' und muss diesen Code nur für zukünftige Castings speichern
DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
Es ist keine große Sache. Sie können einfach so sagen
WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");
Entschuldigen Sie hier, dass ich $ verwendet habe, was für die String-Interpolation steht.
Die Chancen stehen schlecht, dass eine der oben genannten Antworten Ihr Problem nicht gelöst hätte. Trotzdem teile ich meine Methode, die für mich immer für verschiedene Datumsformate funktioniert.
//Definition
public static DateTime ConvertPlainStringToDatetime(string Date, string inputFormat, string outputFormat)
{
DateTime date;
CultureInfo enUS = new CultureInfo("en-US");
DateTime.TryParseExact(Date, inputFormat, enUS,
DateTimeStyles.AdjustToUniversal, out date);
string formatedDateTime = date.ToString(outputFormat);
return Convert.ToDateTime(formatedDateTime);
}
//Calling
string oFormat = "yyyy-MM-dd HH:mm:ss";
DateTime requiredDT = ConvertPlainStringToDatetime("20190205","yyyyMMddHHmmss", oFormat );
DateTime requiredDT = ConvertPlainStringToDatetime("20190508-12:46:42","yyyyMMdd-HH:mm:ss", oFormat);
Nachdem ich viele Stunden in der Google-Suche verbracht hatte, fand ich die folgende Lösung: Als ich lokal Datum und Uhrzeit angab, keine Ausnahme, während von einem anderen Server ein Fehler auftrat ......... Datum ist nicht im richtigen Format. Vor dem Speichern / Durchsuchen der Datums- und Uhrzeit des Textfelds in C # muss nur überprüft werden, ob die äußere Sererkultur der Datenbankserverkultur entspricht. Bsp. Beide sollten "en-US" oder beide "en-GB" unter dem Schnappschuss sein.
Selbst bei unterschiedlichen Datumsformaten wie (TT / MM / JJJJ) oder (JJJJ / MM / TT) wird genau gespeichert oder gesucht.