我尝试了以下但无法得到它
string s= "2015-FEB-17";
//I want it to be converted to date format as
date = "20150217"
//I tried doing as follows but didn't work
var myDate = DateTime.ParseExact(dt, "yyyy-MMM-dd", CultureInfo.InvariantCulture);
答案 0 :(得分:1)
尝试
var myDate = DateTime.ParseExact(s, "yyyy-MMM-dd", CultureInfo.InvariantCulture);
var q = myDate.ToString("yyyyMMdd");
或只是
var q = DateTime.ParseExact(s, "yyyy-MMM-dd", CultureInfo.InvariantCulture)
.ToString("yyyyMMdd");
答案 1 :(得分:1)
ParseExact
将字符串转换为DateTime
。然后,您需要将DateTime
格式化为字符串。
string s= "2015-FEB-17";
DateTime myDate = DateTime.ParseExact(s, "yyyy-MMM-dd", CultureInfo.InvariantCulture);
string result = myDate.ToString("yyyyMMdd"); // now it's "20150217"
此外,您在ParseExact
格式字符串中缺少短划线。
如果您的应用程序仅处理没有国际化的美式日期,则最好指定CultureInfo.InvariantCulture
。
答案 2 :(得分:1)
为什么不缩短它,因为你正在使用.ToString("yyyyMMdd")
你正在删除新值的时间部分
string sDateStr = "2015-FEB-17";
var newDateFrmt = Convert.ToDateTime(sDateStr).ToString("yyyyMMdd");
20150217
根据格式成为预期答案。
不要多余这种方法也可以采取
string sDateStr = "2015-FEB-17";
var someDate = DateTime.ParseExact(sDateStr, "yyyy-MMM-dd", CultureInfo.InvariantCulture);
var newDateFrmt = someDate.ToString("yyyyMMdd");