日期:2014-05-16  浏览次数:20338 次

~[100分]急~在线等,JS有关dropdownlist日期选择问题~~~~请高手赐教~最后给个源码~
就是有一个dropdownlist,上面有几个选项~,日、周、月、年,当你选择后,在两个TXTBOX中显示对应的日期,日和年的到好弄了,主要是周和月的,当跨2个月的时候,判断前一个月的日期天数,我觉得很麻烦,有现成的吗?
比如今天是3月2号或者4月2号,那么选择一周的话,都要跨到前一个月,而2月和3月的天数一个是28一个是31。日期格式是   yyyy-mm-dd.

我只知道JS中这个时间的弄起来很麻烦,没有类似DataTime的东西吧

------解决方案--------------------
http://download.csdn.net/search/%E5%86%9C%E5%8E%86
------解决方案--------------------
这个太简单了.

private void DropDownListBind()
{
DateTime Start = new DateTime();
Start = DateTime.Now;

int DayNo = X; //你想要显示的天数.

for (int i = 0; i < DayNo ; i++)
{
dropdownlist1.Items.Add( " " + Start.AddDays(i).ToShortDateString() + " ");
}

}

private void dropdownlist1_changed(object sender, EventArgs e)
{
this.textBox1.text = this.dropdownlist1.selecteditem.text.trim();
}
------解决方案--------------------
public string Date
{
//属性:设置/获取此控件表示的时间,格式为yyyy-MM-dd HH:mm:ss
set
{
DateTime dt=DateTime.Now;
try
{
dt=DateTime.Parse(value);
}
catch{}
if (year.Items.Count==0)
{
for (int i=2005;i <=DateTime.Now.Year;i++)
year.Items.Add(i.ToString());
}
year.Items.Add( "2100 ");

if (mon.Items.Count==0)
{
for (int i=1;i <13;i++)
mon.Items.Add(i.ToString());
}

DateTime dt2=new DateTime(dt.Year,dt.Month,1);
TimeSpan ts=dt2.AddMonths(1)-dt2;
if (day.Items.Count==0)
{
for (int i=1;i <=(int)ts.TotalDays;i++)
day.Items.Add(i.ToString());
}
if (hour.Items.Count==0)
{
for (int i=0;i <24;i++)
hour.Items.Add(i.ToString());
}
if (min.Items.Count==0)
{
for (int i=0;i <60;i++)
min.Items.Add(i.ToString());
}
if (second.Items.Count==0)
{
for (int i=0;i <60;i++)
second.Items.Add(i.ToString());
}
year.SelectedIndex=year.Items.IndexOf(new ListItem(dt.Year.ToString()));
mon.SelectedIndex=mon.Items.IndexOf(new ListItem(dt.Month.ToString()));
// FillDay(int.Parse(year.SelectedItem.Text),int.Parse(mon.SelectedItem.Text));
day.SelectedIndex=day.Items.IndexOf(new ListItem(dt.Day.ToString()));
hour.SelectedIndex=hour.Items.IndexOf(new ListItem(dt.Hour.ToString()));
min.SelectedIndex=min.Items.IndexOf(new ListItem(dt.Minute.ToString()));
second.SelectedIndex=second.Items.IndexOf(new ListItem(dt.Second.ToString()));
}
get
{
string myDate= " ";
try
{
string month= "0 "+mon.SelectedItem.Text;
month=month.Substring(month.Length-2,2);

DateTime dt=new DateTime(year.SelectedIndex+1,mon.SelectedIndex+1,1);
TimeSpan ts=dt.AddMonths(1)-dt;
int count=(int)ts.TotalDays;
int i=day.SelectedIndex;
if(day.SelectedIndex <count)
{
count=day.SelectedIndex+1;
}
string da= "0 "+count.ToString();
// string da= "0 "+day.SelectedItem.Text;
da=da.Substring(da.Length-2,2);

string ho= "0 "+hour.SelectedItem.Text;
ho=ho.Substring(ho.Length-2,2);

string minute= "