繁体   English   中英

将字符串日期解析为特定格式

[英]Parse String date to specific format

这是一个字符串日期:

dob = reader.GetValue(7).ToString();` return like "12/2/2012"

但我想(在传递之前)转换为这种格式"2012212" ,我已经尝试过

string newDate = dob.ToString("yyyMMdd")

但我收到以下错误:

'string.ToString(System.IFormatProvider)的最佳重载方法匹配具有一些无效参数

任何想法 ?

如果基础返回类型为DateTime则可以使用SqlDataReader.GetDateTime

那你只需要..

reader.GetDateTime(7).ToString("yyyyMdd");

如果以字符串形式存储和接收,则建议先转换为DateTime ,然后再查找特定格式。

    var date = DateTime.ParseExact(dob, "dd/M/yyyy",CultureInfo.InvariantCulture);
    var formattedDate = date.ToString("yyyyMdd");

并非获得输出的确切方法,但是它将起作用。

   string dob = "12/2/2012";
   string[] d1 = dob.Split('/');
   string s = d1[2] + d1[1] + d1[0];
DateTime.ParseExact(reader.GetValue(7), "dd/M/dd", System.Globalization.CultureInfo.InvariantCulture).ToString("yyyyMMdd");

如果字符串中的日期格式为“ ddMMyyyy”,并且想要将其转换为“ yyyyMMdd”,则可以执行以下操作:

DateTime dt = DateTime.ParseExact(dob, "ddMMyyyy", 
                                  CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");

您可以尝试以下方法将字符串转换为日期。

IFormatProvider culture = new CultureInfo("en-US", true);   
dob = DateTime.ParseExact(reader.GetValue(7).ToString(), "dd/MM/yyyy", culture).ToString("yyyyMMdd");

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM