C#ASP.NET:无法将日期时间转换为字符串
问题描述:
我想将datetime
转换为字符串。C#ASP.NET:无法将日期时间转换为字符串
但结果现在返回为04 August, 0016
这不是我所需要的。
我想要结果是04 August, 2016
。
C#代码:预先
DataTable dtGroupCurr = new DataTable();
dtGroupCurr = sourceGroupCurr.Tables[0];
var groupedCurr = (from dt2 in dtGroupCurr.AsEnumerable()
select new
{
S_DATE = dt2.Field<DateTime>("S_DATE"),
BANK_CODE = dt2.Field<string>("BANK_CODE"),
BANK_NAME = dt2.Field<string>("BANK_NAME")
}).Distinct().OrderBy(x => x.S_DATE);
foreach (var s in groupedCurr)
{
string rDate = s.S_DATE.ToString("yyyy/MM/dd");
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime date = DateTime.Parse(rDate, culture);
string sDate = date.ToString("dd MMMM, yyyy", CultureInfo.InvariantCulture);
}
感谢)
答
使用DateTime.ParseExact方法,并指定像下面的格式:
string rDate = s.S_DATE.ToString("yyyy/MM/dd");
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime date = DateTime.ParseExact(rDate, "yyyy/MM/dd", culture);
string sDate = date.ToString("dd MMMM, yyyy", CultureInfo.InvariantCulture);
+1
小心解释它与op的代码有何不同 –
答
尝试:
string sDate = s.S_DATE.ToString("dd MMMM, yyyy", new CultureInfo("en-US", true));
要么
string rDate = s.S_DATE.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture); // To avoid override
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime date = DateTime.Parse(rDate, culture);
string sDate = date.ToString("dd MMMM, yyyy", CultureInfo.InvariantCulture);
的“/”自定义格式说明表示日期分隔符, 用于区分年,月和日。从当前或指定的 文化的 DateTimeFormatInfo.DateSeparator属性中检索适当的 本地化日期分隔符。
答
使用日期或DateTime.ToShortDateString(); 或 Date.ToString(“dd-MM-yyyy”);
看起来不错,看看:https://dotnetfiddle.net/jPFBrk –
我同意@不幸运,它看起来很好。扩展版本:https://dotnetfiddle.net/jPFBrk。最终结果是'rDate'看起来像什么,并且s.S_Date是一个纯粹的日期时间,还是它做了其他的事情? –
s.S_DATE有什么价值?之前.ToString(“yyyy/MM/dd”) – Mate