Pergunta

Estou tentando preencher uma expressão (valor padrão de um parâmetro) com um tempo explícito. Como faço para remover o tempo da função "agora"?

Foi útil?

Solução 12

Encontrou a solução de aqui

Isso recebe o último segundo do dia anterior:

DateAdd("s",-1,DateAdd("d",1,Today())

Isso retorna o último segundo da semana anterior:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))

Outras dicas

Algo assim:

=FormatDateTime(Now, DateFormat.ShortDate) 

Onde "agora" pode ser substituído pelo nome do campo Data/hora que você está tentando converter.)
Por exemplo,

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)

Como o SSRS utiliza o VB, você pode fazer o seguinte:

=Today() 'returns date only

Se você usasse:

=Now() 'returns date and current timestamp
=CDate(Now).ToString("dd/MM/yyyy")

Embora você esteja codificando a data do formart em um local.

Se você precisar exibir o campo no cabeçalho do relatório, tente isto ... clique com a direita na caixa de texto> Propriedades> Categoria> Data> Selecionar *Formato (Observe que isso manterá as configurações regionais).

Como essa pergunta foi vista muitas vezes, estou postando ... espero que ajude.

enter image description here

Apenas use DateValue(Now) Se você deseja que o resultado seja de DateTime tipo de dados.

Se o formato de dados esperado for MM-dd-yyyy Em seguida, tente abaixo,

=CDate(Now).ToString("MM-dd-yyyy")

Da mesma forma, você pode tentar este,

=Format(Today(),"MM-dd-yyyy") 

Resultado: 02-04-2016

Observação:
Now() vai te mostrar data atual e Carimbo de hora

Today() vai te mostrar Encontro Só não a parte do tempo.

Além disso, você pode definir qualquer formato de data em vez de MM-dd-yyyy no meu exemplo.

Na propriedade Formato de qualquer campo da caixa de texto, você pode usar strings de formato:

por exemplo, d/m/y, d, etc.

Uma coisa que pode ajudar os outros é que você pode colocar: =CDate(Now).ToString("dd/MM/yyyy") na propriedade String de formato de SSRs, que pode ser obtida clicando com o botão direito do mouse na coluna. Essa é a maneira mais limpa de fazê -lo. Então sua expressão não será muito grande e difícil de "analisar visualmente" :)

    FormatDateTime(Parameter.StartDate.Value)

Estou chegando tarde no jogo, mas tentei todas as soluções acima! Não consegui soltar o zero no parâmetro e me dar um padrão (ele ignorou a formatação ou parecia em branco). Eu estava usando o SSRS 2005, então estava lutando com seus problemas desajeitados / de buggy.

Minha solução alternativa era adicionar uma coluna à tabela personalizada [Dimdate] no meu banco de dados da qual eu estava puxando datas. Adicionei uma coluna que era uma representação de string no formato desejado da coluna [Data]. Criei então 2 novos conjuntos de dados no SSRS que puxaram as seguintes consultas para 2 padrões para o meu 'para' & 'de' Data Padrões -

'a partir de'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date < DATEADD(month, -3, GETDATE()
                     )

'para'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date <= GETDATE()
                     )

Minha solução para um parâmetro de data/hora:

=CDate(Today())

O truque é converter de volta para um tempo de dados como recomendação do Perhentian.

Basta concatenar uma string até o final do valor:

Fields!<your field>.Value & " " 'test' 

E isso deve funcionar!

Isso deve ser feito no conjunto de dados. Você poderia fazer isso

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

Dentro SSRS Layout, basta fazer isso =Fields!DateColumnName.Value

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top