我使用下面的代码发送电子邮件,我的问题是使用日期下拉框,如何控制收到的电子邮件中日期的显示方式?现在显示 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;
}
}
答案 0 :(得分:1)
首先,将值转换为实际DateTime
。这或许很简单:
DateTime departureDate;
if (!DateTime.TryParse(this.PreferredDepartureDate_TextBox.Text, out departureDate))
// couldn't parse the date, show an error
(根据原始格式和当前文化,您可能需要使用custom format provider。)
拥有有效的DateTime
对象后,您可以represent it as a string任意一种方式。例如:
departureDate.ToString(@"MM\/dd\/yyyy")