La conversion jj/MM/aaaa entrée à aaaa-MM-jj dans le format de date pas de type varchar/datetime
Après avoir cherché pendant une journée complète, je suis incapable de trouver une solution, face à de multiples erreurs de conversion. L'objectif principal est de convertir un dd/MM/yyyy
à yyyy-MM-dd
"date" format pour s'adapter dans SQL Server.
J'ai un Serveur SQL server 2012 de la base de données avec le type de données date
comme une colonne dans ma table.
Je suis en utilisant un datepicker de jQuery avec jquery-1.4.1-vsdoc.js sur mon projet de site web que les sorties dd/MM/yyyy
qui est obtenu à l'aide de
Dim dDate As DateTime = DateTime.Parse(Request.Form(txtStart.UniqueID))
Alors que j'essaie de faire une insertion SQL à l'aide de la date d'obtention, mais la base de données format de la date est yyyy-MM-dd
.
Ont essayé ceci mais ça ne fonctionne pas:
SELECT CONVERT(date, CONVERT(DATETIME, '14/10/2011', 0), 120)
Essayé et ça fonctionne, mais c'est de varchar
type de données qui n'est pas ce dont j'ai besoin
SELECT REPLACE(CONVERT(VARCHAR(10), '15/4/2014', 111), '/', '-') AS [YYYY-MM-DD]
J'ai vraiment besoin d'un code sur mon site web VB/C# code ou instruction SQL selon pour s'acquitter de cette s'il vous plaît aider
Mon script à l'aide de jQuery a déjà écrit dans le code, le format de mon sql est actuellement défini, cependant à l'exécution, il ne s'applique pas
<script type="text/javascript">
$(document).ready(function () {
$("#<%=txtStart.ClientID %>").dynDateTime({
showsTime: false,
ifFormat: "%Y-%m-%d ",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
});
</script>
OriginalL'auteur user2552331 | 2014-04-21
Vous devez vous connecter pour publier un commentaire.
Ne pas! Vous devriez éviter les conversions de chaîne aussi loin que vous le pouvez. Gardez vos données en représentation naturelle pour autant de temps que vous le pouvez.
Vous pouvez bien besoin d'analyser la date à partir de
dd/MM/yyyy
àDateTime
au départ (bien que si vous pouvez les éviter cela, faites-le - nous ne savons pas où vos données), mais vous devez vous laisser comme unDateTime
. Utiliser SQL paramétrée au lieu de cela, en passant la valeur du paramètre de la base de données comme unDateTime
. Bien sûr, vous devriez aussi assurez-vous que les champs de votre base de données, en utilisant le type approprié au départ (pasvarchar
). Veiller à ce que votre schéma correspond à vos données est cruciale pour l'exécution d'un système sain.L'analyse de la partie devrait être relativement simple. Par exemple:
Vous peut souhaitez utiliser une culture de l'utilisateur à la place (en fonction de l'endroit où les données proviennent de l') et vous peut souhaitez utiliser
DateTime.TryParseExact
à la place (si c'est données saisies par l'utilisateur, plutôt que quelque chose à partir de la machine-to-machine de la communication).Si elle donne une erreur de compilation (plutôt qu'une exception), alors vous n'avez probablement pas une chaîne pour commencer... vous devez mettre à jour votre question avec ce que vous avez essayé et le exact d'erreur. Note que j'ai donné le code en C#, alors que votre question utilise VB... j'espère que vous pouvez convertir mon C# dans visual basic assez facilement.
ont essayé et m'a donné une exception "de la Chaîne n'a pas été reconnu comme un DateTime valide."
Dim dDate As DateTime = DateTime.ParseExact(Request.Form(txtStart.UniqueID).ToString, "dd/MM/yyyy", CultureInfo.InvariantCulture)
ne sais pas si cela a à voir avec le fait que la façon dont je suis l'obtention de la date, l'heure est à l'aide d'un datetimepicker jquery
Une exception n'est pas la même chose qu'une erreur de compilation, et nous ne pouvons pas aider, sans savoir ce que la valeur actuelle est. L'ensemble de ces informations (y compris la partie sur le jquery datetimepicker, et la valeur qui est un échec) devrait être dans le question, pas dans les commentaires.
OriginalL'auteur Jon Skeet
Vous devez vous rappeler qu'il n'existe pas de format pour
DateTime
.si vous voulez convertir une chaîne de date en DateTime et si vous connaissez le format de la Date dès le début, vous pouvez utiliserDateTime.ParseExact()
Essayez Ceci:
maintenant, vous pouvez stocker la variable DateTime
dt
dans la base de données, mais si vous souhaitez afficher la date dans un format quelconque (ex:yyyy-MM-dd vous devez appelerToString()
comme ci-dessousessayez-vous de mon code? pouvez-vous nous montrer ton code?
OriginalL'auteur Sudhakar Tillapudi
Utiliser le
dateFormat
optionDÉMO ici
Lorsque vous utilisez datepicker en javascript alors, pourquoi êtes-vous de ne pas utiliser javascript format de date.
Je l'ai déjà spécifié le format de la date que je veux, le problème c'est quand l'extrait date montre en fait jj/MM/aaaa lorsqu'il atteint la requête SQL..
Maintenant, êtes-vous heureux :):):)
désolé .. j'ai essayé le code mais il semble que son pour java et ne pas être applicable dans asp.net
OriginalL'auteur Nayeem Mansoori
nous pouvons essayer ParseExact méthode tout en utilisant InvariantCulture. Ceci fournit des informations sur une culture spécifique. L'information comprend les noms de la culture,le système d'écriture( aaaa-MM-jj dans votre cas), etc.
OriginalL'auteur Himansz