不能只在asp.net标签中显示日期

时间:2016-02-21 09:39:40

标签: c# asp.net

我的标签显示了这个

enter image description here

我不知道如何只将其视为没有时间的日期

因为我的数据库字段只是日期

enter image description here

CODES ASPNET:

<td> 
    <asp:Label ID="lbDeliveryDate" runat="server" BorderColor="Black" 
        Font-Size="Larger" ViewStateMode="Enabled" ></asp:Label>
</td>

CODE

void GetPO()
{
    con.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = "SELECT PO.POID, PO.RequestedByID, PO.ShippingMethod, PO.ShippingTerm, PO.Term, PO.DeliveryDate, Users.FirstName, Users.LastName FROM PO " +
            "INNER JOIN Users ON PO.RequestedByID=Users.UserID";
    cmd.Parameters.AddWithValue("@UserID", Session["userid"].ToString());
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        POID.Text = dr["POID"].ToString();
        lbFN.Text = dr["FirstName"].ToString();
        lbLN.Text = dr["LastName"].ToString();
        lbUserID.Text = dr["RequestedByID"].ToString();
        lbShippingMethod.Text = dr["ShippingMethod"].ToString();
        lbShippingTerm.Text = dr["ShippingTerm"].ToString();
        lbPaymentTerm.Text = dr["Term"].ToString();
        lbDeliveryDate.Text = dr["DeliveryDate"].ToString();
        //Convert.ToDateTime(dr["DeliveryDate"].ToString());
    }
    //cmd.ExecuteNonQuery();
    con.Close();
}

我从另一个数据库获取数据DATE,我只保存为日期字段

请帮助

4 个答案:

答案 0 :(得分:2)

我可以看到您有列类型Date,因此当您在C#中收到它时,它已经在DateTime中。您只需使用ToString()对其进行格式化:

lbDeliveryDate.Text = dr["DeliveryDate"].ToString("d");

Reference

答案 1 :(得分:1)

替换下面的代码行

//Create the UIImage

UIGraphicsBeginImageContext(scrollView.contentSize)  //Change this line only
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image

用这个

UIScrollView

答案 2 :(得分:0)

您的c#对象属于DateTime 。这就是问题所在。可能是您可以将值转换为字符串,然后将其分配给标签。

但是稍后你可能需要再次将它转换为DateTime,如果你必须执行任何操作。取决于您的方案

编辑:您可以编写一个c#扩展来处理dateTime到string的转换。 Which you can reuse easily than writing up code everywhere in your application to handle Date convertion

public static class StringFormatter
{
    public static string DateFormat(this string value)
    {
        if (value == "")
        {
            return "";
        }
        else
        {
            return DateTime.Parse(value.ToString()).ToString("MM/dd/yyyy");
        }
    }
}

然后你可以这样做。

lbDeliveryDate.Text = dr["DeliveryDate"].ToString().DateFormat();

答案 3 :(得分:0)

谢谢你们回答我的问题!我知道这对你来说很简单。

我就像@Arun Rana所说的那样做了

DateTime dt = Convert.ToDateTime(dr["DeliveryDate"].ToString());
lbDeliveryDate.Text =  String.format("{0}/{1}/{2}",dt.Month ,dt.Day, dt.Year);

RATHER THAN:

lbDeliveryDate.Text = dr["DeliveryDate"].ToString();