Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

c# integer σε datetime

Îåêßíçóå áðü ôï ìÝëïò evagelos. Τελευταία δημοσίευση από το μέλος evagelos στις 04-09-2013, 13:43. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-09-2013, 15:59 74278

    c# integer σε datetime

    γεια σας παιδιά,

    εχω ενα excel σε μορφή xml

    σε ενα κελι εχει ενα πεδιο που οταν ανοιγεις το excel εχει την μορφή της ημερομηνίας αλλα οταν το διαβάζω με το DocumentFormat.OpenXml μου το διαβάζει σαν αριθμό.

    και προσπαθώ να το "ξαναφτιάξω" σαν ημερομηνία:

             private DateTime ConvertDate(double numDays)
            {
                DateTime baseDate = new DateTime(1900, 1, 1);
                DateTime newDate = baseDate.AddDays(numDays);
                return newDate;
            }

     

    Εχω για παράδειγμα τον αριθμό 41514 που ενώ έπρεπε να δειχνει 28/8/2013 το αποτελεσμα δειχνει 30/8/2013.

    δηλαδή ΠΑΝΤΑ προσθέτει 2 μερες.

    Τι δεν κανω σωστά;

     

    ευχαριστώ

  •  03-09-2013, 17:35 74279 σε απάντηση της 74278

    Απ: c# integer σε datetime

    Η τιμή που αποθηκεύεται στο Excel είναι ένα OLE Automation Date. To OA Date είναι ένα double του οποίου το ακέραιο μέρος είναι ο αριθμός των ημερών από τις 30/12/1899 και το δεκαδικό είναι η ώρα.

    Για να μετατρέψεις ένα OA Date από και προς ένα DateTime αρκεί να καλέσεις τις DateTime.FromOADate() και DateTime.ToOADate(). 


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  04-09-2013, 13:43 74281 σε απάντηση της 74279

    Απ: c# integer σε datetime

    ok, σε ευχαριστώ
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems