Y a-t-il une façon de convertir une date de format: DD / MM / AAA AAA AUX YYYYMMDD? Par exemple, à partir du: 25/07/2011 à 20110725? dans vb.net? p>
4 Réponses :
Les dates elles-mêmes ne sont pas ont em> formats intrinsèquement. Vous pouvez analyser une chaîne dans un ou en vb: p> (et assurez-vous d'avoir une importation pour Cependant, idéalement, vous devez le garder comme un DateTime code> en l'analysant avec
DD / mm / aaaa code>, puis convertissez-le dans une chaîne à l'aide de
yyyymmdd code> format:
System.globalization code>. ) p>
DateTime code> (ou similaire) pour aussi longtemps que possible. p> p>
Jon, juste curieux de ce sujet. Pourquoi ne peut-il pas utiliser string.format code> méthode?
@reggie: pour la deuxième ligne? Il pouvait, mais ce serait plus de travail imo. Pourquoi spécifier un spécificateur de format de chaîne composé lorsque vous souhaitez uniquement formater une seule valeur?
Merci pour la pointe, la deuxième ligne est ce que j'ai manqué!
Je ne suis pas du tout accompli dans vb.net, alors s'il vous plaît, ne prenez pas cela comme une critique parce que c'est juste une question..craient être quelque chose qui me manque. Je comprends un peu de choses sur ce que l'ensemble de la culture se réfère à un point de vue sémantique, mais d'un point de vue syntaxiste, il semble être complètement ... non accepté, lorsque j'essaie de le saisir dans la SSIS IDE pour .NET. Qu'est-ce que je rate?
@Isaac: Je ne sais rien sur l'IDE SSIS, mais la réponse originale n'était que dans C #, pas VB. J'ai également fourni une version VB maintenant. Assurez-vous d'avoir importé le System.Globalization code> Espace de noms.
Ah d'accord. Je pensais en quelque sorte que. Merci
Utilisez la méthode DateTime.parseexact code> pour analyser la date, puis utilisez
denttimeobj.tostring ("yyyymmdd") code>. p>.
CDate(Datetext).ToString("yyyyMMdd")
Cette réponse pourrait échouer en fonction de la culture. C'est pourquoi la réponse de Jon est meilleure que celle-ci. Par exemple, comment déciderait si le 10/12/2017 est le 10 décembre ou le 12 octobre sans le parseexact?
Public Function DateFormateYYYYMMDD(ByVal Dtp As DateTimePicker) As String Try Dim StrDate, StrYear, StrMonth, StrDay As String StrDate = FormatDateTime(Dtp.Value, DateFormat.ShortDate) StrMonth = Month(Dtp.Value) StrDay = Convert.ToString(Dtp.Value.Day) StrYear = Year(Dtp.Value) StrDate = StrYear + "-" + StrMonth + "-" + StrDay Return StrDate Catch ex As Exception End Try End Function this function can be used to convert datetime picker value format to yyyyMMdd