Réponses:
DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive
DateTime.Parse()
?
format
est également sensible à la casse, c'estDateTime.ParseExact(stringValue, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Ce site a d' excellents exemples 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"
Formatage 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
*/
Mettre à jour en utilisant le format d'interpolation de chaîne 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
où la partie [+ -] ZZzz est le fuseau horaire (le nombre d'heures à ajouter ou à soustraire de la date GMT)
zzz
est -06: 00 , je voudrais-0600
.Replace(":", "")
$"{dt:yyyyMMddHHmmzzz}".Replace(":", "")
de contourner
dt.ToString("...");
, où remplacer "..."
par un format ci-dessus, par exemple. "yyyy-MM-dd"
.
Vous avez pratiquement écrit le format vous-même.
yourdate.ToString("yyyyMMddHHmmss")
Tout le reste devrait être explicite.
Il faut juste être prudent entre les mois (MM) et les minutes (mm):
DateTime dt = DateTime.Now; // Or whatever
string s = dt.ToString("yyyyMMddHHmmss");
(Notez également que HH est une horloge de 24 heures, alors que hh serait une horloge de 12 heures, généralement en conjonction avec t ou tt pour l'indicateur am / pm.)
Si vous souhaitez le faire dans le cadre d'une chaîne de format composite, vous devez utiliser:
string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);
Pour plus d'informations, consultez la page MSDN sur les formats de date et d'heure personnalisés .
now.ToString("yyyyMMdd_HHmmss")
:? Je veux dire, est-il possible de concaténer avec d'autres personnages, n'est-ce pas?
Vous pouvez utiliser une chaîne de format personnalisé:
DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");
Remplacez "hh" par "HH" si vous ne voulez pas d'horloge sur 24 heures.
Dans .Net Standard 2
vous pouvez formater DateTime
comme ci-dessous:
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
Je suis surpris que personne n'ait de lien pour cela. n'importe quel format peut être créé en utilisant les directives ici:
Chaînes de format de date et d'heure personnalisées
Pour votre exemple spécifique (comme d'autres l'ont indiqué), utilisez quelque chose comme
my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);
Où mon_format peut être n'importe quelle combinaison de chaînes de y, M, H, m, s, f, F et plus encore! Consultez le lien.
Obtenez la date en tant DateTime
qu'objet au lieu d'une chaîne. Ensuite, vous pouvez le formater comme vous le souhaitez.
Une méthode simple, un contrôle total sur «du type» et «au type», et il suffit de se souvenir de ce code pour les castings futurs
DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
Ce n'est pas grave. vous pouvez simplement mettre comme ça
WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");
Excusez-moi ici car j'ai utilisé $ qui est pour l'interpolation de chaîne.
Les chances sont minces qu'aucune des réponses ci-dessus n'ait résolu votre problème. Néanmoins, je partage ma méthode qui fonctionne toujours pour moi pour différents formats d'heures.
//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);
Après avoir passé beaucoup d'heures sur la recherche Google, j'ai trouvé la solution ci-dessous car lorsque je donne localement l'heure de la date, aucune exception alors que sur un autre serveur, il y avait une erreur ......... La date n'est pas au bon format .. Avant d'enregistrer / rechercher l'heure de la date de la zone de texte en C #, il suffit de vérifier que la culture Serer externe est identique à la culture du serveur de base de données.
Même avec un format de date différent comme (jj / mm / aaaa) ou (aaaa / mm / jj), il sera enregistré ou recherché avec précision.