0

在我的 C# 应用程序中,我正在创建一个下拉列表,它将显示我的 sql 数据库的不同日期时间列。

当我编写查询时:

Select distinct DateTimeColumn from tablename1

我得到一个不同日期时间的列表,格式为:2013-03-31 09:04:00.955

但是当我尝试使用代码在我的下拉列表中显示相同的细节时:

SqlDataAdapter cmd = new SqlDataAdapter("SELECT * FROM tablename1 order by DateTimeColumn desc", sqlconn);
            DataSet ds0 = new DataSet();
            cmd0.Fill(ds0);
            DataView source0 = new DataView(ds0.Tables[0]);
            DataTable dt0 = new DataTable();
            cmd0.Fill(dt0);
            Cache["data"] = ds0;

            DataSet dataset_new1 = new DataSet();
            dataset_new1 = (DataSet)Cache["data"];
            DataView dataview_new1 = dataset_new1.Tables[0].DefaultView;

            DataTable datatable_new1 = dataview_new1.ToTable(true, "DateTimeColumn");
            DropDownList1.DataSource = datatable_new1;
            DropDownList1.DataTextField = "DateTimeColumn";
            DropDownList1.DataValueField = "DateTimeColumn";
            DropDownList1.DataBind();

我的日期时间格式为:3/31/2013 09:04:00 AM

我不知道为什么我的格式会改变!请帮忙!!谢谢你。

4

2 回答 2

0

这很可能发生,因为您正在另一个工具中运行查询,该工具以您期望的方式格式化文本。当您在应用程序中运行它时,它默认使用数据区域设置(除非另有说明)

如果您将select语句更改为:

select distinct DATE_FORMAT(DateTimeColumn,'%Y-%m-%d %H:%i:%S.%f') 
from tablename1
于 2013-06-17T18:17:59.047 回答
0

您可以使用DataTextFormatString属性并使用自定义格式字符串

我没有测试,但它应该是这样或类似的

DropDownList1.DataTextFormatString = "MMMM dd, yyyy";
于 2013-06-17T18:21:10.863 回答