Eu encontrei um problema no trabalho hoje. Por exemplo, você precisa descobrir os membros registrados no site de 2007-10-12 a 2007-10-31. 31 é fundamentalmente fundamental que não foi exibido e os resultados foram os mesmos após vários testes. O programa de depuração constatou que havia problemas com a declaração SQL.
A instrução SQL é a seguinte: Selecione * do UserInfo, onde regime> = '2007-10-12' e regime <= '2007-10-31'. No começo, não há erro nesta declaração SQL, mas após o valor do campo correspondente no banco de dados, o valor do valor salvo não é um formulário de data simples, mas a forma de data+tempo, ou seja: AAYYYY -Mm-dd hh: mm: ss. são iguais. O que posso fazer?
Não se preocupe, o ASP nos fornece uma função de data e subtração para nos ajudar a resolver esse problema.
1. Data adicionada
Função datedd
Retornar à data do intervalo de tempo especificado.
Datdd (intervalo, número, data)
A gramática da função DataAdd tem os seguintes parâmetros
(1) o intervalo deve opção. Expressões de string indicam o intervalo de tempo a ser adicionado. Para valores, consulte a parte da configuração.
(2) Número deve opção. A expressão numérica indica o número de intervalos de tempo a serem adicionados. Expressões numéricas podem ser positivas (obtenha a data futura) ou número negativo (obtenha a data passada).
(3) A data deve ser a opção. A variante pode adicionar o texto da data de indicação do intervalo.
ilustrar:
Pode ser usado para adicionar ou subtrair o intervalo de tempo especificado a partir da data com a função DATADD. Por exemplo, o DATADD pode ser usado por 30 dias a partir do dia do dia ou do horário após 45 minutos. Para adicionar um intervalo diário até o momento, você pode usar o número de diariamente (y), diário (d) ou uma semana (w) do número de diariamente (y), diariamente (d) ou uma semana.
A função datedd não retorna uma data inválida. O exemplo a seguir adicionará um mês em 31 de janeiro de 1995:
NewDate = DATADD (M, 1, 31-Jan-95)
Neste exemplo, o DATADD retornou em 28 de fevereiro de 1995, em vez de 31 de fevereiro de 1995. Se a data for 31 de janeiro de 1996, retornará em 29 de fevereiro de 1996, porque 1996 é um ano bissexto.
Se a data do cálculo for antes de 100 dC, ocorrerá um erro.
Se o número não for um valor longo, as quatro primeiras casas e cinco entradas são o número inteiro mais próximo.
2. Redução de data
Função datediff
Retorna o intervalo de tempo entre duas datas.
Datediff (intervalo, date1, date2 [, FirstdayOfWeek [, FirstWeekofyear]])
A gramática da função datediff tem os seguintes parâmetros:
(1) o intervalo deve opção. Expressões de string indicam um intervalo de tempo entre Date1 e Date2. Para valores, consulte a parte da configuração.
(2) Date1, Date2 deve ser a opção. Expressão de data. Duas datas para cálculo.
(3) O FirstDayofwek pode ser opcional. A constante no primeiro dia na semana especificada. Se não for especificado, o padrão é domingo. Para valores, consulte a parte da configuração.
(4) Opções do primeiro ano. Especifique a constante da primeira semana do ano. Se não for especificado, é padrão na semana de 1º de janeiro. Para valores, consulte a parte da configuração.
ilustrar:
A função datediff é usada para determinar o número de intervalo de tempo especificado entre duas datas. Por exemplo, o datediff pode ser usado para calcular o número de dias de diferença entre duas datas ou o número semanal entre o dia e o último dia do ano.
Para calcular o número de dias entre Date1 e Date2, você pode usar o número de dias (y) ou dia (d) de um ano. Quando o intervalo é o número de dias (W) da semana (W), o Datediff retorna o número semanal entre duas datas. Se a data1 for segunda -feira, o número de datediff é calculado até a data2 antes do número de segunda -feira. Este resultado contém date2 sem data1. Se o intervalo for semana (WW), a função datediff retorna o número semanal entre duas datas na tabela de calendário. O número de funções entre Date1 e Date2 é calculado. Se o Date2 for domingo, o datediff calculará o Date2, mas mesmo que o Date1 seja domingo, o Date1 não será calculado.
Se a data1 for posterior a data2, a função datediff retorna números negativos.
O parâmetro FirstdayofWeek afeta o cálculo do símbolo do intervalo WW.
Se Date1 ou Date2 for um texto de data, o ano especificado se tornará uma parte fixa da data. No entanto, se Date1 ou Date2 estiver incluído nas cotações () e omitido no ano, cada vez que a expressão Date1 ou Date2 é calculada no código, o ano atual será inserido. Dessa forma, você pode escrever um código de programa adequado para diferentes anos.
Quando o intervalo é o ano (AAA), em comparação com 1º de janeiro de 31 de dezembro e o próximo ano, embora haja apenas um dia, o datediff retorna 1 para indicar uma diferença de ano.