注册 登录
编程论坛 ASP.NET技术论坛

关于dropdownlist问题

broon0635 发布于 2007-05-13 14:30, 974 次点击
我想把数据库里面的时间项在dropdownlist显示出来。在数据库里面时间是20061201这样的格式,我想在dropdownlist显示2006-12-01格式。请问代码怎么写??谢谢了。
15 回复
#2
jimnox2007-05-13 15:25
分割后手工操作吧?
#3
ahuinan2007-05-13 19:04
这样来吧!

string mytime = "20060910";
string newtime = mytime.Substring(0, 4) + "-" + mytime.Substring(4,2) + "-" + mytime.Substring(6,2);
Response.Write(newtime);

[此贴子已经被作者于2007-5-13 19:05:16编辑过]

#4
川流不息2007-05-13 21:18
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
#5
guming2007-05-14 12:12
你将写入数据表的日期格式设为如:2006-12-01的格式不就行了。
如:
string y=System.DateTime.Now.Year.ToString();//获得年
string m=System.DateTime.Now.Month.ToString();//月
string d=System.DateTime.Now.Day.ToString();//日
string timenow=""+y+"-"+m+"-"+d+"";//以 年-月-日 格式显示
将timenow的值写入到数据表,再显示到DropDownList中,,,

[此贴子已经被作者于2007-5-14 12:41:18编辑过]

#6
川流不息2007-05-14 14:13
直接從數據庫中查時,把格式轉換一下就行了,格式就如我上面列出來的。
#7
guming2007-05-14 14:37
请问一下斑竹,那些0 1 2 3 4 5 6。。。。。等是什么意思啊,,学习。
#8
bygg2007-05-14 14:40
什么0 1 2 3 ??
#9
从小到大2007-05-14 14:54
还用这样干吗
DateTime dt=DateTime.Now();
string x=dt.ToString("yyyy-MM-dd");
#10
broon06352007-05-14 16:52

Dim objds1 As New DataSet
Dim cnn As New SqlConnection
Dim MyCommand As New SqlDataAdapter

cnn.ConnectionString = "Data Source=localhost;User ID=sa;Password=sa;Initial Catalog=current;integrated security=false"

MyCommand = New SqlDataAdapter("select distinct datetime from table ORDER BY datetime desc", cnn)
objds1 = New DataSet()
MyCommand.Fill(objds1, "table")
totime.DataSource = objds1.Tables("table").DefaultView
totime.DataTextField = "datetime"
totime.DataBind()
这把最初20061001格式放到了dropdownlist里面了,可是怎么在写成2006-10-01的代码啊??这个不会。谢谢大家了

#11
Kendy1234562007-05-14 17:18
MyCommand = New SqlDataAdapter("select distinct convert(varchar,convert(datetime,[datatime]),101) from table ORDER BY datetime desc", cnn)
#12
beniao2007-05-14 18:45
以下是引用从小到大在2007-5-14 14:54:30的发言:
还用这样干吗
DateTime dt=DateTime.Now();
string x=dt.ToString("yyyy-MM-dd");

顶.这个兄弟说得不错.`ToString()方法有4种重载,可以直接转换,何必搞得那么复杂呢````

#13
broon06352007-05-14 18:46

这是怎么回事啊??
将 expression 转换为数据类型 datetime 时发生算术溢出错误。

#14
川流不息2007-05-14 20:12
回复:(guming)请问一下斑竹,那些0 1 2 3 4 5 6。。...
這些0 1 2 3 是這個格式的代號,你可以這樣理解,比如,樓主的問題,要轉換成2006-05-16這種格式,
我們在查詢數據的時候,就直接這樣查:
SELECT CONVERT(varchar(100), GETDATE(), 23) FROM TABLENAME WHERE 條件
在那個紅色23處,變成我上面列出的那些格式代號,就可以得到你想要的格式,像23就是這種格式:2006-05-16。
其他的一樣,你自己所需。

#15
tel19822007-05-15 07:45
斑竹川流不息的帖子不错,值得学习。
#16
Kendy1234562007-05-15 09:24
以下是引用broon0635在2007-5-14 18:46:18的发言:

这是怎么回事啊??
将 expression 转换为数据类型 datetime 时发生算术溢出错误。

那是因为你数据库里面的值不合法! 如果全是 20061201 这种类型的日期数据 是不会有错的

1