加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#将YYYY-MM-DD转换为MM / DD / YYYY(“ – ”TO“/”)

发布时间:2020-12-15 23:31:38 所属栏目:百科 来源:网络整理
导读:嘿,我遇到了麻烦. string record = el.InnerText;var result1 = parseString(record);var StartDate = string.Join("",result1.ConvertAll(r = string.Format("{0}",r)).ToArray());//DateTime strStartDate = DateTime.ParseExact(StartDate,"mm-dd-yyyy",C
嘿,我遇到了麻烦.

string record = el.InnerText;
var result1 = parseString(record);
var StartDate = string.Join("",result1.ConvertAll(r => string.Format("{0}",r)).ToArray());
//DateTime strStartDate = DateTime.ParseExact(StartDate,"mm-dd-yyyy",CultureInfo.InvariantCulture);
var EndDate = string.Join("",result1.ConvertAll(r => string.Format("{1}",r)).ToArray());
//DateTime strEndDate = DateTime.ParseExact(EndDate,CultureInfo.InvariantCulture);

这是parseString函数:

private static List<string[]> parseString(string input)
    {
        var pattern = @"Starts+Date:s+([0-9-]+)s+Ends+Date:s+([0-9-]+)s+(?:Warrantys+Type:s+w+s+)?Status:s+(w+)s*";
        return Regex.Matches(input,pattern).Cast<Match>().ToList().ConvertAll(m => new string[] { m.Groups[1].Value,m.Groups[2].Value,m.Groups[3].Value });
    }

DateTimes无效,因为我猜测将字符串转换为DateTime时“ – ”不是有效字符.

我尝试了record = record.Replace(“ – ”,“/”)但最终弄乱了我的字符串并且它停止显示(来自html页面).

解决方法

你的问题不在 – .没有什么不妥.但是你似乎用小写字母m而不是大写字母M来表示你的月份:

//DateTime strStartDate = DateTime.ParseExact(StartDate,CultureInfo.InvariantCulture);

(另请注意,您将其放在评论中 – 使其不太明显!)

将其更改为:

//Note the capital MM
DateTime strStartDate = DateTime.ParseExact(StartDate,"MM-dd-yyyy",CultureInfo.InvariantCulture);

这就是你得到错误的原因.小写字母m表示分钟,而不是月份.要表示月份,请使用资本M.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读