lefi Δημοσ. 4 Σεπτεμβρίου 2011 Δημοσ. 4 Σεπτεμβρίου 2011 Προσπαθώ να το βρω και έχω κολλήσει, πως μπορώ να βρώ την διαφορά μεταξύ 2 ημερομηνιών (στην vb 2005) η έστω νε μετατρέψω την ημερομηνία σε αριθμό για να αφαιρέσω μετά τους αριθμούς. Σημειώνω ότι αναφέρομαι σε πλήρη ημερομηνία π.χ. #9/4/2011 12:57:52 PM#
moukoublen Δημοσ. 4 Σεπτεμβρίου 2011 Δημοσ. 4 Σεπτεμβρίου 2011 Κάτι τέτοιο: > Dim d1 As New Date(2010, 3, 10) Dim d2 As New Date(1988, 3, 26) Dim etos As Integer Dim minas As Integer Dim mera As Integer Dim wra As Integer Dim lepta As Integer Dim defterolepta As Integer etos = d1.Year - d2.Year minas = d1.Month - d2.Month mera = d1.Day - d2.Day wra = d1.Hour - d2.Hour lepta = d1.Minute - d2.Minute defterolepta = d1.Second - d2.Second ή απλά > d1.Ticks - d2.Ticks
migf1 Δημοσ. 4 Σεπτεμβρίου 2011 Δημοσ. 4 Σεπτεμβρίου 2011 Προσπαθώ να το βρω και έχω κολλήσει, πως μπορώ να βρώ την διαφορά μεταξύ 2 ημερομηνιών (στην vb 2005) η έστω νε μετατρέψω την ημερομηνία σε αριθμό για να αφαιρέσω μετά τους αριθμούς. Σημειώνω ότι αναφέρομαι σε πλήρη ημερομηνία π.χ. #9/4/2011 12:57:52 PM# Ο κλασικός τρόπος είναι να μετατρέψεις τις ημερομηνίες σε Julian Day Numbers και μετά να τις αφαιρέσεις. Για την πλήρη θεωρία πίσω από τους τύπους διάβασε το λινκ παραπάνω. Αν μπορείς να διαβάσεις κώδικα σε C εδώ είναι ο κώδικας ενός προγράμματος που είχα κάνει παλιότερα με πράξεις μεταξύ ημερομηνιών ( δες τις συναρτήσεις: long date_2jdn( Date date ) και Date *jdn_2date( Date *date, long jd ) ... τα ορίσματα δεν χρειάζεται να είναι long, εγώ έχω άλλο λόγο που τα έχω έτσι, δες επίσης την: date_diff( Date *datediff, Date date1, Date date2, int mdays[] ) που μεταξύ άλλων κάνει κι αυτό που θες χωρίς χρήση των JDN). Eδώ το εκτελέσιμό μιας λίγο πιο παλιάς έκδοσής του παραπάνω προγράμματος. ΥΓ. Εγώ δεν είχα ασχοληθεί με ώρες, μόνο με ημερομηνίες. Νομίζω κάτι υπάρχει στους τύπους μετατροπής σε JDN, αλλά και να μην υπάρχει, η ώρα είναι εύκολη να την υπολογίσεις, μετατρέποντάς την σε δευτερόλεπτα, να τα αφαιρέσεις και το αποτέλεσμα να το μετατρέψεις μετά σε ώρες:λεπτά,δευτερόλεπτα.
παπι Δημοσ. 4 Σεπτεμβρίου 2011 Δημοσ. 4 Σεπτεμβρίου 2011 Μια συμβουλη. bookmark http://msdn.microsoft.com/en-us/library/ms123401.aspx Για το προβλημα σου -> http://msdn.microsoft.com/en-us/library/03ybds8y.aspx |-> http://msdn.microsoft.com/en-us/library/ff986512.aspx |-> http://msdn.microsoft.com/en-us/library/1905yhe2.aspx
adamco Δημοσ. 6 Σεπτεμβρίου 2011 Δημοσ. 6 Σεπτεμβρίου 2011 Δες και την εντολή DateSerial(year, month, day) για τον υπολογισμό της διαφοράς των ημερών μεταξύ δύο ημερομηνιών. Η παράσταση: DD = DateSerial(1992, 10, 23) - DateSerial(1991, 10, 23) επιστρέφει τον αριθμό 366.
lefi Δημοσ. 12 Σεπτεμβρίου 2011 Μέλος Δημοσ. 12 Σεπτεμβρίου 2011 Ευχαριστώ για της απαντήσεις, της χρησιμοποίησα και είναι έτοιμη η εφαρμογή που υπολογίζει το υπόλοιπο θητείας που έχω.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.