2011-01-18 4 views
3

Existe-t-il une fonction dans Visual Basic 6 qui peut être utilisée pour convertir une chaîne de date julienne (99001-1st de Jan 1999) en objet Date?VB6 Julian Date Chaîne Date Objet

J'ai essayé d'utiliser CDate() mais les résultats ne sont pas conformes aux attentes.

Arbres.

+0

'99001' ?? Comment le jour et le mois sont-ils codés? Il n'y a qu'un seul '1'? Vouliez-vous dire '990101'? Quel est le jour et quel mois? Voulez-vous pouvoir encoder les dates après 1999? C'est à dire. Êtes-vous préoccupé par [les problèmes de l'an 2000] (http://en.wikipedia.org/wiki/Year_2000_problem)? Vous devrez peut-être choisir une valeur d'année en dessous de laquelle vous supposez que les années sont 19 ** et au-dessus desquelles vous supposez que les années sont supérieures à 20 **. Si vous avez un contrôle sur le format, je conseillerais des années à 4 chiffres! – MarkJ

+0

L'année est 99 et le jour de l'année est 001. Je suppose que l'année peut également être 2099. – Koekiebox

Répondre

4

Je pense que ce qui suit fonctionnerait, il suffit de mettre votre date julian à l'intérieur de la variable jd.

Dim dt as Date 
Dim jd as Long 
dt = DateSerial(1900 + Int(jd/1000), 1, jd Mod 1000) 
+1

http://en.wikipedia.org/wiki/Year_2000_problem – MarkJ

+0

Cela a fonctionné. La seule chose est le 1900 devrait être changé en 2000. THanks. – Koekiebox

+0

@MarkJ: Je vais admettre que c'était un peu de temps depuis que j'ai regardé ce code :) –