Ik wil een C# DateTime converteren naar de indeling “YYYYMMDDHHMMSS”. Maar ik vind geen ingebouwde methode om dit formaat te krijgen? Opmerkingen?
Antwoord 1, autoriteit 100%
DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive
Antwoord 2, autoriteit 54%
Deze site heeft geweldige voorbeeldenbekijk het eens
// 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"
Standaard datum/tijd-opmaak
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
*/
Bijwerken
gebruik makend van c# 6 string interpolatie formaat
// 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"
Antwoord 3, autoriteit 22%
Je hebt het formaat praktisch zelf geschreven.
yourdate.ToString("yyyyMMddHHmmss")
- MM = tweecijferige maand
- mm = minuten van twee cijfers
- HH = tweecijferige uur, 24-uurs klok
- hh = tweecijferige uur, 12-uurs klok
Al het andere spreekt voor zich.
Antwoord 4, autoriteit 12%
Je moet voorzichtig zijn tussen maanden (MM) en minuten (mm):
DateTime dt = DateTime.Now; // Or whatever
string s = dt.ToString("yyyyMMddHHmmss");
(Houd er ook rekening mee dat HH een 24-uursklok is, terwijl hh een 12-uursklok is, meestal in combinatie met t of tt voor de am/pm-aanduiding.)
Als u dit wilt doen als onderdeel van een tekenreeks met samengestelde opmaak, gebruikt u:
string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);
Zie voor meer informatie de MSDN-pagina over aangepaste datum- en tijdnotaties.
Antwoord 5, autoriteit 2%
U kunt een aangepaste opmaaktekenreeks gebruiken:
DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");
Vervang “hh” voor “HH” als u geen 24-uurs kloktijd wilt.
Antwoord 6, autoriteit 2%
Als u ReSharper gebruikt, vraag dan hulp bij ‘:’ (zie afbeelding)
Antwoord 7, autoriteit 2%
DateTime.Now.ToString("yyyyMMddHHmmss");
als je het alleen als een string wilt weergeven
Antwoord 8
In .Net Standard 2
kunt u DateTime
opmaken zoals hieronder:
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));
Antwoord 9
string date = DateTime.Now.ToString("dd-MMM-yy"); //05-Aug-13
Antwoord 10
DateTime.Now.ToString("MM/dd/yyyy") 05/29/2015
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss") Friday, 29 May 2015 05:50:06
DateTime.Now.ToString("MM/dd/yyyy HH:mm") 05/29/2015 05:50
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt") 05/29/2015 05:50 AM
DateTime.Now.ToString("MM/dd/yyyy H:mm") 05/29/2015 5:50
DateTime.Now.ToString("MM/dd/yyyy h:mm tt") 05/29/2015 5:50 AM
DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") 05/29/2015 05:50:06
DateTime.Now.ToString("MMMM dd") May 29
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK") 2015-05-16T05:50:06.7199222-04:00
DateTime.Now.ToString("ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’") Fri, 16 May 2015 05:50:06 GMT
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss") 2015-05-16T05:50:06
DateTime.Now.ToString("HH:mm") 05:50
DateTime.Now.ToString("hh:mm tt") 05:50 AM
DateTime.Now.ToString("H:mm") 5:50
DateTime.Now.ToString("h:mm tt") 5:50 AM
DateTime.Now.ToString("HH:mm:ss") 05:50:06
DateTime.Now.ToString("yyyy MMMM") 2015 May
Antwoord 11
Het verbaast me dat niemand hier een link voor heeft.
elk formaat kan worden gemaakt met behulp van de richtlijnen hier:
Aangepaste tekenreeksen voor datum- en tijdnotatie
Gebruik voor uw specifieke voorbeeld (zoals anderen hebben aangegeven) iets als
my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);
Waarbij my_format elke tekenreekscombinatie van y,M,H,m,s,f,F en meer kan zijn!
Bekijk de link.
Antwoord 12
Krijg de datum als een DateTime
object in plaats van een tekenreeks. Dan kun je het formatteren zoals je wilt.
- MM / DD / JJJJ 08/22/2006
- DDDD, DD MMMM YJJYY DINSDAG, 22 AUGUSTUS 2006
- DDDD, DD MMMM YYYY HH: MM DINSDAG, 22 AUGUSTUS 2006 06:30
- DDDD, DD MMMM YYYY HH: MM TT Dinsdag 22 augustus 2006 06:30 AM
- DDDD, DD MMMM JJJJ: MM DINSDAG, 22 AUGUSTUS 2006 6:30
- DDDD, DD MMMM YYYY H: MM TT Dinsdag 22 augustus 2006 6:30 AM
- DDDD, DD MMMM YYYY HH: MM: SS Dinsdag 22 augustus 2006 06:30:07
- mm / dd / yyyy hh: mm 08/22/2006 06:30
- mm / dd / yyyy hh: mm TT 08/22/2006 06:30 AM
- mm / dd / yyyy h: mm 08/22/2006 6:30
- mm / dd / yyyy h: mm TT 08/22/2006 6:30 AM
- mm / dd / yyyy hh: mm: SS 08/22/2006 06:30:07
Antwoord 13
C # 6.0
gebruiken
$"Date-{DateTime.Now:yyyyMMddHHmmss}"
Antwoord 14
Een eenvoudige methode, volledige controle over ‘van type’ en ‘naar type’, en hoeft deze code alleen te onthouden voor toekomstige gietstukken
DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
Antwoord 15
Het is geen big deal. Je kunt eenvoudig zoals deze plaatsen
WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");
Procuus hier voor ik gebruikte $ die is voor stringinterpolatie.
Antwoord 16
De kans is klein dat een van de bovenstaande antwoorden uw probleem niet heeft opgelost. Desalniettemin deel ik mijn methode die altijd voor mij werkt voor verschillende formaten van datetimes.
//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);
Antwoord 17
Geef de opgemaakte DateTime op als Utc:
Stap 1 – Initiële datum
var initialDtm = DateTime.Now;
Stap 2 – Formatteer de datum naar wens (“jjjjMMddHHmmss”)
var formattedDtm = DateTime.ParseExact(initialDtm.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Stap 3 – Specificeer het soort datum (Utc)
var specifiedDtm = DateTime.SpecifyKind( formattedDtm, DateTimeKind.Utc);
Antwoord 18
Nadat ik veel uren op Google-zoekopdracht heb besteed, vond ik de onderstaande oplossing als toen ik de datum van de datum, geen uitzondering op de andere server geef, er is fout opgetreden ……… Datum is niet goed Formaat .. Voordat u de datumtijd van tekstvak in C # bespaart, is het controleren van de buitenste serercultuur hetzelfde als database-servercultuur .. Ex beide moeten “EN-VS” zijn of beide “EN-GB” ASP hieronder moeten zijn schot.
Zelfs met verschillende datumaanduiding zoals (DD / MM / JJJJ) of (JJJJ / MM / DD), zal het nauwkeurig opslaan of doorzoeken.