Câu trả lời:
DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive
DateTime.Parse()
?
format
trường hợp cũng phân biệt chữ hoa chữ thường, tức làDateTime.ParseExact(stringValue, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Trang web này có các ví dụ tuyệt vời kiểm tra nó
// 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"
Định dạng DateTime tiêu chuẩn
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
*/
Cập nhật bằng định dạng nội suy chuỗi 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
trong đó phần [+ -] ZZzz là múi giờ (số giờ được thêm hoặc trừ từ ngày GMT)
zzz
là -06: 00 , tôi muốn-0600
.Replace(":", "")
$"{dt:yyyyMMddHHmmzzz}".Replace(":", "")
làm một công việc xung quanh
dt.ToString("...");
, nơi thay thế "..."
bằng một định dạng ở trên, ví dụ. "yyyy-MM-dd"
.
Bạn thực tế đã viết định dạng cho mình.
yourdate.ToString("yyyyMMddHHmmss")
Mọi thứ khác nên tự giải thích.
Bạn chỉ cần cẩn thận giữa tháng (MM) và phút (mm):
DateTime dt = DateTime.Now; // Or whatever
string s = dt.ToString("yyyyMMddHHmmss");
(Cũng lưu ý rằng HH là đồng hồ 24 giờ, trong khi hh sẽ là đồng hồ 12 giờ, thường kết hợp với t hoặc tt cho người chỉ định sáng / chiều.)
Nếu bạn muốn làm điều này như một phần của chuỗi định dạng tổng hợp, bạn sẽ sử dụng:
string s = string.Format("The date/time is: {0:yyyyMMddHHmmss}", dt);
Để biết thêm thông tin, hãy xem trang MSDN về các định dạng ngày và giờ tùy chỉnh .
now.ToString("yyyyMMdd_HHmmss")
? Ý tôi là có thể kết hợp với các nhân vật khác, đúng không?
Bạn có thể sử dụng chuỗi định dạng tùy chỉnh:
DateTime d = DateTime.Now;
string dateString = d.ToString("yyyyMMddHHmmss");
Thay thế "hh" cho "HH" nếu bạn không muốn thời gian 24 giờ.
Trong .Net Standard 2
bạn có thể định dạng DateTime
như 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
Tôi ngạc nhiên không ai có một liên kết cho việc này. mọi định dạng có thể được tạo bằng các hướng dẫn ở đây:
Chuỗi định dạng ngày và giờ tùy chỉnh
Ví dụ cụ thể của bạn (Như những người khác đã chỉ ra) sử dụng một cái gì đó như
my_format="yyyyMMddHHmmss";
DateTime.Now.ToString(my_format);
Trong đó my_format có thể là bất kỳ tổ hợp chuỗi nào của y, M, H, m, s, f, F và hơn thế nữa! Kiểm tra các liên kết.
Lấy ngày làm DateTime
đối tượng thay vì Chuỗi. Sau đó, bạn có thể định dạng nó như bạn muốn.
Phương pháp dễ dàng, Kiểm soát hoàn toàn 'từ loại' và 'đến loại' và chỉ cần nhớ mã này cho các lần đúc trong tương lai
DateTime.ParseExact(InputDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
Nó không phải là vấn đề lớn. bạn có thể chỉ cần đặt như thế này
WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")}");
Xin lỗi ở đây vì tôi đã sử dụng $ dành cho Nội suy chuỗi.
Rất có thể là bất kỳ câu trả lời nào ở trên sẽ không giải quyết được vấn đề của bạn. Tuy nhiên, tôi đang chia sẻ phương pháp của mình, nó luôn hoạt động với tôi cho các định dạng khác nhau của thời gian.
//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);
Sau khi dành nhiều giờ cho tìm kiếm của Google, tôi đã tìm thấy giải pháp bên dưới vì khi tôi đưa ra thời gian ngày cục bộ, không có ngoại lệ trong khi từ máy chủ khác, có Lỗi ......... Ngày không ở định dạng phù hợp .. Trước khi lưu / tìm kiếm Thời gian ngày của hộp văn bản trong C #, chỉ cần kiểm tra Văn hóa Serer bên ngoài giống như văn hóa máy chủ cơ sở dữ liệu .. Ex cả hai phải là "en-US" hoặc phải là cả hai "en-GB" bên dưới snap snap.
Ngay cả với định dạng ngày khác nhau như (dd / mm / yyyy) hoặc (yyyy / mm / dd), nó sẽ lưu hoặc tìm kiếm chính xác.