2009-09-28 4 views
0

Je dois ajouter le temps de date dans un champ bigint dans une base de données ... puis afficher à partir de ce que la date au format: 1er octobre 2009.comment ajouter date heure actuelle dans le domaine bigint

Je pense actuellement à stocker la valeur dans la variable de chaîne, puis à la convertir en int ... String s = DateTime.Now.ToString();

je ne sais pas quoi faire .. s'il vous plaît aider

Répondre

4

Vous pouvez tout simplement stocker le nombre de tiques que votre valeur bigint. Tiques représentent le nombre de 1 écoulé/10000 millisecondes depuis le 1er Janvier 0001.

DateTime.Now.Ticks; 

Cela peut toujours être reconverti en un DateTime en utilisant le constructeur qui accepte une longue:

DateTime storedTime = new DateTime(ticksFromDatabase); 

Pour formatez votre date, utilisez simplement l'un des standards date format strings. Une chaîne de format personnalisé peut fonctionner mieux, je les ai simplement lus et il ne semble pas y en avoir un pour le format que vous voulez. Cela devrait fonctionner:

date1.ToString("MMMM d, yyyy", CultureInfo.CreateSpecificCulture("en-US")) 
+0

je l'ai stocké comme long s = DateTime.Now.Ticks; mais j'utilise une source de données SQL pour l'afficher dans un gridview. Que devrais-je écrire dans la requête de sélection ... ??? Ma requête SQL est .. « SELECT MachineGroups.MachineGroupID, MachineGroups.MachineGroupName, MachineGroups.MachineGroupDesc, MachineGroups.TimeAdded, MachineGroups.CanBeDeleted, COUNT (Machines.MachineName) AS 'Nombre de PC' DE MachineGroups FULL OUTER JOIN Machines ON Machines.MachineGroupID = MachineGroups.MachineGroupID GROUP BY MachineGroups.MachineGroupID, MachineGroups.MachineGroupName, MachineGroups.MachineGroupDesc, MachineGroups.TimeAdded – user175084

+0

Vous devez vous connecter à l'événement RowDataBound et reformater la date. une colonne DateTime sql? Ce serait la chose la plus facile à faire, puisque vous pouvez le mettre en forme avec les instructions SQL select et facilement le transférer vers les objets DateTime dans C# – womp

+0

non je ne peux pas utiliser datetime coz le code de l'entreprise entière est dans bigint .. :( Je savais que ça aurait été si facile pour moi aussi .. Mais je n'ai pas sérieusement comment afficher la date dans un gridview en utilisant l'instruction select ... S'il vous plaît aidez-moi l'homme ... – user175084

1

j'utiliser une clé de date intelligente, car il est plus facile de trouver que l'utilisation de SQL:

20090927235000 
yyyyMMddhhmmss 

De cette façon, si vous voulez trouver quelque chose qui est arrivé sur une donnée jour, vous pouvez faire:

select * from tbl where datecol between 20090927000000 and 20090927240000 

rendant ainsi la validation des données beaucoup plus facile, même si vous utilisez un ORM.