Como converter o formato de datetime para o formato de data em Relatório cristal usando C#?
8 answers
Se o datetime estiver no campo (não uma fórmula) então você pode formatá-lo:
- carregue com o botão direito no campo -> Editor de formato
- página de data e hora
- seleccione a formatação da data / hora que deseja (ou carregue em Personalizar)
Se a data está numa fórmula:
ToText({MyDate}, "dd-MMM-yyyy")
//Displays 31-Jan-2010
Ou
ToText({MyDate}, "dd-MM-yyyy")
//Displays 31-01-2010
Ou
ToText({MyDate}, "dd-MM-yy")
//Displays 31-01-10
Etc...
Na função de data do crystal report formulafield, pode passar o seu formato de data-hora, na medida em que só terá a data aqui
Exemplo:Date({MyTable.dte_QDate})
Maneira simples.
Janela de desenho do relatório Cristal - >carregue com o botão direito no campo Data->campo formato->Personalize o formato de data de acordo com a sua necessidade.
Funciona eficazmente.
Na fórmula de selecção tente este
Date(Year({datetimefield}), Month({datetimefield}), Day({datetimefield}))
Esta fórmula funciona para mim:
// Converts CR TimeDate format to AssignDate for WeightedAverageDate calculation.
Date( Year({DWN00500.BUDDT}), Month({DWN00500.BUDDT}), Day({DWN00500.BUDDT}) ) - CDate(1899, 12, 30)
Se for apenas uma questão de formato use ToShortDateString()
Você também poderia escrever a sua própria classe DateExtension que lhe permitirá ir algo como myDate.ToMyDateFormat();
public static class DateTimeExtensions
{
public static DateTime ToMyDateFormat(this DateTime d)
{
return d.ToString("dd-MMM-yyyy");
}
}
Às vezes o campo não é reconhecido pelos relatórios de cristal como data, por isso pode adicionar uma fórmula com função: Data ({Campo}), E adicione-o ao relatório, agora, quando abrir a janela de formatação do objecto, irá encontrar as opções de formatação da data.