我正在使用ASP.NET从数据库加载数据以显示购买商品的日期,但是它旁边还显示上午12:00:00的时间戳。
如何打印该值以便仅显示日期?
private void UpdateInventory(int index)
{
DataView inventoryTable = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
DataRowView row = (DataRowView)inventoryTable[index];
currentInventory.fac_ID = row["fac_ID"].ToString();
currentInventory.inv_Quantity = row["inv_Quantity"].ToString();
currentInventory.inv_Purchase_Date = row["inv_Purchase_Date"].ToString();
lblFacilityID.Text = currentInventory.fac_ID;
lblQuantity.Text = currentInventory.inv_Quantity;
lblPurchaseDate.Text = currentInventory.inv_Purchase_Date;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
UpdateInventory(DropDownList1.SelectedIndex);
}
public string fac_ID { get; set; }
public string inv_Quantity { get; set; }
public string inv_Purchase_Date { get; set; }
答案 0 :(得分:4)
如果你不需要任何特别的东西,但只是想省略时间,你可以使用它:
lblPurchaseDate.Text
= Convert.ToDateTime(row["inv_Purchase_Date"]).ToShortDateString();
这将显示如下内容:
2/22/2014
答案 1 :(得分:1)
您可以使用ToShortDateString
方法:
currentInventory.inv_Purchase_Date = (row["inv_Quantity"] as DateTime).ToShortDateString();
或者使用传递字符串参数specify a format
currentInventory.inv_Purchase_Date = (row["inv_Quantity"] as DateTime).ToString("d MMMM YYYY");
答案 2 :(得分:0)
您可以使用DateTime.ToString(string)
- 例如:
currentInventory.inv_Purchase_Date =
Convert.ToDateTime(row["inv_Purchase_Date"]).ToString("d");
对于string
参数,您可以使用"d"
,这将产生与DateTime.ToShortDateString()
as MSDN explains相同的结果;但您也可以灵活地使用其他standard和custom短日期格式字符串。
请注意,如果您的代码无法承担文化,则应考虑利用IFormatProvider
的转化选项/重载 - 例如:
var ci = new CultureInfo("en-US"); // or "ja-JP" etcetera
// ...
currentInventory.inv_Purchase_Date =
DateTime.Parse(row["inv_Purchase_Date"].ToString(), ci).ToString("d", ci);