Risposte:
DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive
DateTime.Parse()
?
format
è anche sensibile al maiuscolo / minuscolo, ovveroDateTime.ParseExact(stringValue, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Questo sito ha grandi esempi verificalo
// 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"
Formattazione DateTime standard
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
*/
Aggiornamento utilizzando il formato di interpolazione della stringa 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
dove La parte [+ -] ZZzz è il fuso orario (il numero di ore da aggiungere o sottrarre dalla data GMT)
zzz
è -06: 00 , vorrei-0600
.Replace(":", "")
$"{dt:yyyyMMddHHmmzzz}".Replace(":", "")
a risolvere il
dt.ToString("...");
, dove sostituire "..."
con un formato sopra, ad es. "yyyy-MM-dd"
.
Hai praticamente scritto tu stesso il formato.
yourdate.ToString("yyyyMMddHHmmss")
Tutto il resto dovrebbe essere autoesplicativo.
Devi solo stare attento tra mesi (MM) e minuti (mm):
DateTime dt = DateTime.Now; // Or whatever
string s = dt.ToString("yyyyMMddHHmmss");
(Si noti inoltre che HH è un orologio a 24 ore, mentre hh sarebbe un orologio a 12 ore, di solito in combinazione con t o tt per il designatore am / pm.)
Se vuoi farlo come parte di una stringa di formato composito, dovresti usare:
string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);
Per ulteriori informazioni, consultare la pagina MSDN su formati di data e ora personalizzati .
now.ToString("yyyyMMdd_HHmmss")
:? Voglio dire è possibile concatenarsi con altri personaggi, giusto?
È possibile utilizzare una stringa di formato personalizzata:
DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");
Sostituire "hh" con "HH" se non si desidera l'ora di 24 ore.
In .Net Standard 2
puoi formattare DateTime
come belows:
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
Sono sorpreso che nessuno abbia un link per questo. qualsiasi formato può essere creato utilizzando le linee guida qui:
Stringhe di formato di data e ora personalizzate
Per il tuo esempio specifico (come altri hanno indicato) usa qualcosa di simile
my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);
Dove my_format può essere qualsiasi combinazione di stringhe di y, M, H, m, s, f, F e altro! Dai un'occhiata al link.
Ottieni la data come DateTime
oggetto anziché come stringa. Quindi puoi formattarlo come vuoi.
Un metodo semplice, controllo completo su "da tipo" e "a tipo", e solo bisogno di ricordare questo codice per i casting futuri
DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
Non è un grosso problema. puoi semplicemente mettere così
WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");
Scusa qui per ho usato $ che è per l'interpolazione di stringhe.
Ci sono poche possibilità che una qualsiasi delle risposte di cui sopra non abbia risolto il tuo problema. Tuttavia, sto condividendo il mio metodo che funziona sempre per me per diversi formati di dati.
//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);
Dopo aver trascorso molte ore nella ricerca di Google, ho trovato la soluzione di seguito, poiché quando fornisco localmente l'ora della data, nessuna eccezione mentre da un altro server, si è verificato un errore ......... La data non è nel formato corretto .. Prima di salvare / cercare l'ora della data della casella di testo in C #, è sufficiente verificare che la cultura del server esterno sia la stessa della cultura del server di database. Ex entrambi devono essere "en-US" o devono essere entrambi "en-GB" asp sotto l'istantanea.
Anche con diversi formati di data come (gg / mm / aaaa) o (aaaa / mm / gg), salverà o cercherà accuratamente.