如何将邮件头中的日期格式转换成我们常用的日期格式?

sukermq 2003-11-28 01:49:53
如何将邮件头中的日期格式转换成我们常用的日期格式?
如读取邮件头文件时获取了该行:Date: Tue, 25 Nov 2003 15:30:03 +0400
但是我想把该时间转换成如下这种表示法:2003-11-25 15:30:03
如何在C#中转换呢?请高手告知,谢谢了!在线等待.....
...全文
212 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sukermq 2003-11-28
  • 打赏
  • 举报
回复
哎,我晕呐,看来这样还是不行,因为邮件的日期格式并非一定如此,我收到一封邮件的时间就是这样的:Fri Nov 28 13:49:58 2003 结果一转换肯定出错啦,我晕呐,看来还是逐一取出各项吧,哎!:)
xixigongzhu 2003-11-28
  • 打赏
  • 举报
回复
如果这样的话,邮件头的日期格式必须是这样,否则会出错,所以还是用前面那种好些。
xixigongzhu 2003-11-28
  • 打赏
  • 举报
回复
DateTime.ParseExact("Tue, 25 Nov 2003 15:30:03 +0400", "ddd, dd MMM yyyy HH:mm:ss zzzz", new CultureInfo("en-us"))).ToString("yyyy-MM-dd HH:mm:ss");
sukermq 2003-11-28
  • 打赏
  • 举报
回复
不过还有个问题,把+后面的时区去掉,会不会出错啊,这个时间是邮件接收的时间啊,?请指点!
sukermq 2003-11-28
  • 打赏
  • 举报
回复
虽然有点麻烦,不过感谢你了,呵呵!这样就行了:
m_msg = "Date: Tue, 25 Nov 2003 15:30:03 +0400"
m_rectime = m_msg.Substring(6,m_msg.Index("+")-6).Trim();
m_rectime = DateTime.Parse(m_rectime).ToString("yyyy-MM-dd HH:mm:ss");
哎!还有简单点的没啊?谢谢了!
xixigongzhu 2003-11-28
  • 打赏
  • 举报
回复
string date = ...
int index = date.IndexOf('+');
if (index > 0) {
date = date.Substring(0, index).Trim();
}
string newdate = date;
try{
newdate = DateTime.Parse(date).ToString("yyyy-MM-dd HH:mm:ss");
}catch(Exception e){
}
sukermq 2003-11-28
  • 打赏
  • 举报
回复
先谢谢了!对DateTime.Now进行该转换,我也知道,可是我说得是要把这个字符串Date: Tue, 25 Nov 2003 15:30:03 +0400进行转换啊?.............
就是不知道怎么把该字符串变成DateTime.Now这种格式啊,呵呵!????
FileNewExit 2003-11-28
  • 打赏
  • 举报
回复
DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToUniversalTime());

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧