5

Estoy creando un informe usando Report Builder 3.0.Report Builder 3.0: Cómo convertir cadenas de representación de fechas en formato mm/dd/aa usando CDate

El sistema de origen con el que estoy trabajando tiene cadenas que representan fechas en el formato de mm/dd/yy, pero quiero mostrar esto a los usuarios finales como dd-MMM-yy. Usar CDate en la cadena me dará errores porque está interpretando la cadena en el formato dd/mm/yy (configuración regional de EE. UU.).

¿Hay alguna manera de convertir la cadena a una fecha correcta sin cambiar la configuración regional (esto no es realmente una opción)?

Gracias!

Respuesta

9

Puede usar el comando Format y especificar el formato exacto que necesita. Por ejemplo:

=Format(Cdate(Fields!Date.Value),"dd-MM-yyyy") 

o puede probar esto:

=Day(Fields!Date.Value) & "/" & Month(Fields!Date.Value) & "/" & Year(Fields!Date.Value) 

EDIT: Esto está bien:

=Cdate(Mid(Fields!Date.Value,4,2) & "/" & Mid(Fields!Date.Value,1,2) & "/" & Mid(Fields!Date.Value,7,4)) 
+0

CDate devolverá un error si el campo no está en Fecha el formato "dd/mm/aaaa" ya. Por ejemplo, si tengo "01/15/2012", CDate pensará que el campo del mes es "15" y arrojará un error. – confusedKid

+0

Actualicé la respuesta. Revíselo ahora si está bien. – Hari

+0

Esto da el mismo resultado, porque 'Day',' Month', y 'Year' esperan que los valores respectivos sean del formato" dd-mm-yyyy ". 'Month' siempre comprobará la parte media de la cadena para el valor del mes ... – confusedKid

Cuestiones relacionadas