格式 YYYYMMDD 未被接受,并引发我尝试使用的异常
string Year = DateTime.ParseExact(UseDate, "YYYYMMDD",
CultureInfo.InvariantCulture).Year.ToString();
只有我需要使用日期变量吗?以及如何处理日期格式 yyyymmdd?
格式 YYYYMMDD 未被接受,并引发我尝试使用的异常
string Year = DateTime.ParseExact(UseDate, "YYYYMMDD",
CultureInfo.InvariantCulture).Year.ToString();
只有我需要使用日期变量吗?以及如何处理日期格式 yyyymmdd?
您可以定义您喜欢的任何格式 - 此外,您可以获得给定文化的默认值列表。
var ci = new CultureInfo("en-US");
var formats = new[] { "M-d-yyyy", "dd-MM-yyyy", "MM-dd-yyyy", "M.d.yyyy", "dd.MM.yyyy", "MM.dd.yyyy" }
.Union(ci.DateTimeFormat.GetAllDateTimePatterns()).ToArray();
DateTime.ParseExact("07/23/2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
DateTime.ParseExact("07-23-2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
DateTime.ParseExact("23-07-2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
DateTime.ParseExact("23.07.2013", formats, ci, DateTimeStyles.AssumeLocal).Dump();
输出:
7/23/2013 12:00:00 AM
7/23/2013 12:00:00 AM
7/23/2013 12:00:00 AM
7/23/2013 12:00:00 AM
的格式字符串DateTime.ParseExact
区分大小写。
string year = DateTime.ParseExact(UseDate, "yyyyMMdd", CultureInfo.InvariantCulture).Year.ToString();
's 是大写的M
,因为这意味着月份,而m
意味着分钟。
string Year =
DateTime.ParseExact(UseDate, "yyyyMMdd", CultureInfo.InvariantCulture).Year.ToString();
年 y 和日 d 必须小写,月 M 必须大写
我已经对此进行了测试,并且效果很好
DateTime temp;
if (DateTime.TryParseExact("20130101", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out temp))
{
string year = temp.Year.ToString();
}