我从数据库获取日期字符串值(3/13/2013 12:00:00 AM),我需要像这种格式(yyyy-mm-dd)进行转换。请帮我解决这个问题。
string targetdate = "3/13/2013 12:00:00AM";(getting date value from DB)
DateTime lastdate = DateTime.ParseExact(targetdate, "yyyy-mm-dd",
System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat);
我试过
Iformatprovider = null.
但我得到相同的错误“字符串未被识别为有效的DateTime ”
答案 0 :(得分:1)
首先,您需要使用格式DateTime
将日期字符串转换为"M/d/yyyy HH:mm:sstt"
类型对象,之后您可以使用"yyyy-MM-dd"
获取格式化字符串。 (您在月份中使用小写m
,月份应为大写M
。
string targetdate = "3/13/2013 12:00:00AM";
DateTime lastdate = DateTime.ParseExact(targetdate,
"M/d/yyyy hh:mm:sstt",
System.Globalization.CultureInfo.InvariantCulture);
string newFormat = lastdate.ToString("yyyy-MM-dd");
newFormat
将包含"2013-03-13"
答案 1 :(得分:1)
我认为问题在于日期时间
"3/13/2013 12:00:00AM"
不应该是凌晨12:00:00。
应该是12:00:00 PM。
string targetdate = "3/13/2013 11:59:59AM";
DateTime lastdate = DateTime.ParseExact(targetdate,
"M/d/yyyy HH:mm:sstt",
System.Globalization.CultureInfo.InvariantCulture);
lastdate=lastdate.AddSeconds(1);
你会得到
3/13/2013 12:00:00 AM
我建议你把它放在数据库的末尾。
如果您使用的是sql server,那么
以下脚本使用CONVERT()函数显示不同的格式。我们将使用GETDATE()函数来获取当前日期/时间:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),10)
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),6)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
结果看起来像这样:
Nov 04 2011 11:45 PM
11-04-11
11-04-2011
04 Nov 11
04 Nov 2011
04 Nov 2011 11:45:34:243
答案 2 :(得分:1)
String origionalDate = "12/20/2013"; // Format : MM/dd/yyyy
string origionalFormat = "MM/dd/yyyy";
string convertInToFormat="dd/MM/yyyy";
String convertedDate;
DateTime objDT;
if (DateTime.TryParseExact(origionalDate, origionalFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out objDT) == true)
{
convertedDate = objDT.ToString(convertInToFormat);
Response.Write("<b>Origional DateTime Format ( " + origionalFormat + " ) : </b>" + origionalDate);
Response.Write("<br/>");
Response.Write("<b>Converted DateTime Format ( " + convertInToFormat + " ) : </b>" + convertedDate);
}
else
{
Response.Write("<b>Not able to parse datetime.</b>");
}
有关此更多详细信息,请访问此链接。的 Click Here... 强>