难过的C#DateTimeToString()格式化问题适应一段时间就会感觉不好。该函数应格式化日期以符合RFC822(根据RSS规范的要求)并且看起来像:字符串_tmp=pubDate.ToUniversalTime().ToString(_rfc822Format);返回pubDate.ToString(_tmp+"UT");从我可以阅读的DateTimeToString()文档来看,我应该是我想要的。但是,对于某些日期,它会产生垃圾:Console.WriteLine(FormatPubDate(newDateTime(2008,12,16,13,44,33)));Console.WriteLine(FormatPubDate(newDateTime(2008,12,17,13,44,33)));Console.WriteLine(FormatPubDate(newDateTime(2009,3,18,4,17,20)));Console.WriteLine(FormatPubDate(newDateTime(2009,4,30,10,44,33)));收益率:星期二,2008年12月16日19:44:33UTWe17,2008年12月17日19:44:33UTWe18,183ar200909:17:20UTT10u,2009年4月30日15:44:33UT任何想法为什么它返回We18而不是Wed,返回3ar而不是Mar?你的问题是最后一个returnpubDate.ToString(_tmp+"UT");您正在DateTime上使用格式化值执行第二个ToString(),作为格式化程序...尝试将其更改为字符串_rfc822Format="ddd,ddMMMyyyyHH:mm:ss";字符串_tmp=pubDate.ToUniversalTime().ToString(_rfc822Format);返回_tmp+"UT";你能用这个吗?:String.Format("{0:r}",dt);//"Sun,09Mar200816:05:07GMT"RFC1123您目前正在调用ToString获取日期,传递您的RFC格式,然后您再次调用ToString日期,在您转换的日期+"UT”作为格式,我很惊讶你能得到任何好的结果!试试这个:以上就是C#学习教程的全部内容:难倒C#DateTimeToString()格式化问题,如果对大家有用,需要了解更多的C#学习教程。希望大家多多关注——publicstaticstringFormatPubDate(DateTimepubDate){string_rfc822Format="ddd,ddMMMyyyyHH:mm:ss";返回pubDate.ToUniversalTime().ToString(_rfc822Format)+"UT";}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
