控制从 C# 发送的电子邮件中的日期格式
本文关键字:电子邮件 日期 格式 控制 | 更新日期: 2023-09-27 18:36:08
我正在使用下面的代码发送电子邮件 我的问题正在使用日期下拉框 如何控制日期在收到的电子邮件中的显示方式?现在它正在显示 yy/mm/dd 我正在尝试将其设置为 mm/dd/yy
protected void Send_Button_Click(object sender, EventArgs e)
{
try
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("");
msg.To.Add("");
msg.Subject = "Email";
msg.Body = string.Format("First Name: <b>{0}</b><br/>Last Name: <b>{1}</b><br/>Email: <b>{2}</b><br/>Certificate number: <b>{3}</b><br/>Preferred itinerary: <b>{4}</b><br/>Preferred departure date: <b>{5}</b><br/>Number of travelers: <b>{6}</b><br/>Number of cabins: <b>{7}</b><br/>Cabin type: <b>{8}</b>", this.FirstName_TextBox.Text, this.LastName_TextBox.Text, this.Email_TextBox.Text, this.CertificateNumber_TextBox.Text, this.PreferredItinerary_DropDownList.Text, this.PreferredDepartureDate_TextBox.Text, this.NumberOfTravelers_TextBox.Text, this.NumberOfCabins_TextBox.Text, this.CabinType_DropDownList.Text);
msg.IsBodyHtml = true;
msg.BodyEncoding = Encoding.UTF8;
SmtpClient smt = new SmtpClient("smtpout.secureserver.net", 80);
smt.EnableSsl = false;
smt.Credentials = new System.Net.NetworkCredential("", "");
smt.Send(msg);
this.Response.Redirect("ThankYou.aspx");
}
catch (Exception ex)
{
this.ResultLabel.Text = ex.Message;
}
}
首先,将值转换为实际DateTime
。 也许这样简单:
DateTime departureDate;
if (!DateTime.TryParse(this.PreferredDepartureDate_TextBox.Text, out departureDate))
// couldn't parse the date, show an error
(您可能需要使用自定义格式提供程序,具体取决于原始格式和当前区域性。
获得有效的 DateTime
对象后,可以按照您喜欢的任何方式将其表示为字符串。 例如:
departureDate.ToString(@"MM'/dd'/yyyy")