2010-05-14 2 views
1

Мне нужно получить текущую дату в asp.net, а затем сравнить ее с датой, указанной пользователем в текстовом поле box1.text (mm/dd/yyyy format), если дата даты указана больше чем текущая дата, тогда ошибка еще добавляет 4months2days с этой датой и отображает ее в textbox2.text.retrievind date in asp.net

помогите мне пожалуйста, поблагодарить вас, ребята,

Indranil

+4

Является ли это домашнее задание? – Guffa

+0

не совсем то, что делает проект для клиента и представление на следующей неделе, поэтому просто попробуйте обернуть Асап. – piku

ответ

0
DateTime dateToCompare; 
if(DateTime.TryParse(textbox1.text, out dateToCompare)) 
{ 
    DateTime current = DateTime.Now; 
    TimeSpan ts = current - dateToCompare; 
    if (ts.Ticks < 0) 
    { 
      //display error 
    } 
    else 
      textbox2.text = dateToCompare.AddMonths(4).AddDays(2).ToString("mm/dd/yyyy"); 
    } 
} 
0

Я не собираюсь писать код, но в .NET вы можете использовать ToString указать формат даты, TryParse, чтобы получить дата из строки. И AddDays, AddMonths и т. Д., Чтобы манипулировать датой.

В javascript нет простого способа форматирования вывода, но вы можете использовать getMonth и т. Д., Чтобы запрашивать отдельные значения и конкатенировать строку из этого. Вы можете использовать комбинацию getDate и setDate для управления датами. Он автоматически корректирует новые месяцы, то есть если вы запустите myDate.setDate(myDate.getDate() + 60), он фактически увеличится на 60 дней; у вас не будет такой странной даты, как 74 мая.

Имейте в виду, что месяцев в JavaScript начинается с нуля, т.е. январь 0, февраль 1, и т.д.

Вы можете создать новую дату в JavaScript на new Date(yy, mm, dd) или new Date('yy/mm/dd'), чтобы вы могли строковое манипулировать введите и создайте дату из этого.

Чтобы сравнить две даты, вы можете вычесть одно из другого и получить разницу в миллисекундах.

if (dateA - dateB < 0) // dateB is greater than dateA (occurrs later) 

и

var diff = Math.abs(dateA - dateB) // difference in ms, no matter which date is greater 
+0

Разница заключается в тиках, а не в миллисекундах, потому что вычитание даты с другой даты возвращает TimeSpan. Вам нужно будет использовать свойство TotalMilliseconds для TimeSpan, чтобы найти разницу в ms –

+0

@ Daniel Dyson: эти последние замечания были о js, а не .net –

+0

Ах да, так они были. Мне было интересно, как кто-то с вашей оценкой репутации мог совершить эту ошибку. :) –

0
DateTime date1 = new DateTime(); 
if(DateTime.TryParse(textbox1.text, out date1)){ 
      if (date1.CompareTo(DateTime.Now) > 0) 
      { 
       //Error code here 
      }else 
      { 
       textbox2.text = date1.AddMonths(4).AddDays(2); 
      } 
}