如何在C#.Net?
中将英文字符串日期转换为葡萄牙语字符串日期我有一个字符串:2014-06-15
,我需要转换为15-06-2014
(dd-MM-yyyy格式)
答案 0 :(得分:2)
String.Format("{0:dd-MM-yyyy}", DateTime.Parse("2014-06-15")); // "15-06-2014"
或者
DateTime.Parse("2014-06-15").ToString("dd-MM-yyyy"); // "15-06-2014"
String.Format几乎可以为您提供日期解析所需的一切。
取自here。例子:
// 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
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
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
答案 1 :(得分:2)
您可以使用DateTime
Parse
和ToString()
方法:
var date = DateTime.Parse("2014-06-15");
var result = date.ToString("dd-MM-yyyy");
Console.WriteLine(result);
答案 2 :(得分:2)
var date = DateTime.Parse("2014-06-15").ToString("d",
CultureInfo.GetCultureInfo("pt-PT"));
这使用指定文化中的设置。
答案 3 :(得分:0)
您可以使用内置的DateTime
format:
var testDate = DateTime.Parse("2014-06-15");
Console.WriteLine(testDate.ToString("dd-MM-yyyy")); // 02-06-2014
或者,您可以使用CultureInfo
类和the DateTime.ToString(String, IFormatProvider)
重载来强制字符串为该文化使用系统指定的格式:
var testDate = DateTime.Parse("2014-06-15");
var usa = new System.Globalization.CultureInfo("en-US");
var portugal = new System.Globalization.CultureInfo("pt-PT");
var brazil = new System.Globalization.CultureInfo("pt-BR");
Console.WriteLine(testDate.ToString("d", usa)); // 6/2/2014
Console.WriteLine(testDate.ToString("d", portugal)); // 02-06-2014
Console.WriteLine(testDate.ToString("d", brazil)); // 02/06/2014
此外,作为参考,这里是一个网站,其中包含每个支持文化的CultureInfo
类的所有格式字符串: