Reporting Services supprime L'Heure de DateTime dans Expression
J'essaie de remplir une expression (valeur par défaut d'un paramètre) avec une heure explicite. Comment puis-je supprimer l'Heure de la fonction "maintenant"?
14 réponses
Quelque Chose comme ceci:
=FormatDateTime(Now, DateFormat.ShortDate)
Où "maintenant" peut être remplacé par le nom du champ date/heure que vous essayez de convertir.)
Par exemple,
=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
Puisque SSRS utilise VB, vous pouvez effectuer les opérations suivantes:
=Today() 'returns date only
Si vous deviez utiliser:
=Now() 'returns date and current timestamp
=CDate(Now).ToString("dd/MM/yyyy")
Bien que vous codiez en dur la date formart dans une locale.
Si vous devez afficher le champ sur l'en-tête du rapport, essayez ceci... Cliquez avec le bouton droit sur zone de texte > Propriétés > Catégorie > date > Sélectionnez * Format (notez que cela maintiendra les paramètres régionaux).
Puisque cette question a été vue plusieurs fois, je la poste... Espérons que cela aide.
Utilisez simplement DateValue(Now)
si vous voulez que le résultat soit de type DateTime
.
Si le format de données est MM-dd-yyyy
ensuite, essayez ci-dessous,
=CDate(Now).ToString("MM-dd-yyyy")
de Même, vous pouvez essayer celui-ci,
=Format(Today(),"MM-dd-yyyy")
Sortie: 02-04-2016
Note:Now()
va vous montrer date actuelle et horodatage
Today()
va vous montrer Date seulement pas le temps de la partie.
Aussi, vous pouvez définir n'importe quel format de date au lieu de MM-dd-yyyy
dans mon exemple.
Dans la propriété format de n'importe quel champ de zone de texte, vous pouvez utiliser des chaînes de format:
Par exemple D / M / Y, D, etc.
Une chose qui pourrait aider les autres est que vous pouvez placer: =CDate(Now).ToString("dd/MM/yyyy")
dans la propriété Format String de SSRS qui peut être obtenue en cliquant avec le bouton droit sur la colonne. C'est la façon la plus propre de le faire. Alors votre expression ne sera pas trop grande et difficile à "analyser" visuellement:)
Je viens tard dans le jeu mais j'ai essayé toutes les solutions ci-dessus! impossible de l'obtenir pour laisser tomber le zéro dans le paramètre et me donner une valeur par défaut (il a ignoré la mise en forme ou est apparu vide). J'utilisais SSRS 2005, donc j'étais aux prises avec ses problèmes maladroits / buggés.
Ma solution de contournement consistait à ajouter une colonne à la table personnalisée [DimDate] dans ma base de données à partir de laquelle je tirais des dates. J'ai ajouté une colonne qui était une représentation de chaîne dans le format souhaité de la colonne [date]. Ensuite, j'ai créé 2 nouveaux ensembles de données dans SSRS qui ont extrait les requêtes suivantes pour 2 valeurs par défaut pour mes valeurs par défaut' To ' & 'From' -
" et "
SELECT Datestring
FROM dbo.dimDate
WHERE [date] = ( SELECT MAX(date)
FROM dbo.dimdate
WHERE date < DATEADD(month, -3, GETDATE()
)
'à'
SELECT Datestring
FROM dbo.dimDate
WHERE [date] = ( SELECT MAX(date)
FROM dbo.dimdate
WHERE date <= GETDATE()
)
Ma solution pour un paramètre Date / heure:
=CDate(Today())
L'astuce consiste à convertir en DateTime comme recommandé Perhentian.
Concaténez simplement une chaîne à la fin de la valeur:
Fields!<your field>.Value & " " 'test'
Et cela devrait fonctionner!