Προς το περιεχόμενο
  • 0
yincyun

system time in C

Ερώτηση

Καλησπέρα,

 

πως θα μπορούσα να πάρω την ώρα συστήματος σε υπολογίσημη μορφή?

 

κάτι αντίστοιχο με το start και end του clock_t.

 

θέλω να αποθηκέυω την ώρα εισόδου ενός αντικειμένου στην ουρά και να υπολογίζω πόσο χρόνο παρέμεινε το αντικείμενο εντός αυτής.

 

Ευχαριστώ!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

12 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0

Θεός. μια ακόμα ερώτηση. το αποτέσμα που βγάζει είναι msec? γιατί για δευτερόλεπτα είναι πολλά.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Μου βγάζει αυτό το νούμερο : 1883572746.000000

Προφανός και κάνω κάτι λάθος...!

 

Απλά έβαλα το αντικέιμενο στην ούρα και το έβγαλα. άντε να έκανα και 40 δεύτερα!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δες αν ορίζεις σωστά το time_t του αντικειμένου σου όταν το καταχωρείς στην ουρά και πως καλείς με τις σωστές παραμέτρους την difftime (πχ. double dSecs = difftime(time(NULL), myobject.inTime)) όταν το αφαιρείς.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δε βγάζω άκρη. Και στο google δε βρήσκω κάνα παράδειγμα να βοηθάει....

 

Το σκηνικό είναι ως εξής.

 

την ώρα που κάνω εισαγωγή του κάθε αντικειμένου στην ουρά κάνω αποθήκευση του χρόνου σε μια μεταβλητή double enterTime που βρίσκεται εντός της struct την time_t start.

όταν κάνω εξαγωγή απο την ουρά του πρώτου αντικειμένου αποθηκεύω στην struct σε μια μεταβλητή double exitTime τη time_t end και με την difftime(object.exitTime,object.startTime) εκτυπώνω το χρόνο.

 

απλά απο όσο μπορώ να καταλάβω δε μπορώ να το χρησιμοποίησω έτσι αλλά τα start και end πρέπει να βρίσκονται σε μια ροή και δε μπορώ να τα χρησιμοποιήσω ανεξάρτητα.

 

εγώ θέλω να βάζω αντικείμενα να αποθηκεύω το startTime του καθενός και όταν αποφασίσω να κάνω εξαγωγή του στοιχείου να βρίσκω τη διαφορά τους.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δε βγάζω άκρη. Και στο google δε βρήσκω κάνα παράδειγμα να βοηθάει....

 

Το σκηνικό είναι ως εξής.

 

την ώρα που κάνω εισαγωγή του κάθε αντικειμένου στην ουρά κάνω αποθήκευση του χρόνου σε μια μεταβλητή double enterTime που βρίσκεται εντός της struct την time_t start.

όταν κάνω εξαγωγή απο την ουρά του πρώτου αντικειμένου αποθηκεύω στην struct σε μια μεταβλητή double exitTime τη time_t end και με την difftime(object.exitTime,object.startTime) εκτυπώνω το χρόνο.

 

απλά απο όσο μπορώ να καταλάβω δε μπορώ να το χρησιμοποίησω έτσι αλλά τα start και end πρέπει να βρίσκονται σε μια ροή και δε μπορώ να τα χρησιμοποιήσω ανεξάρτητα.

 

εγώ θέλω να βάζω αντικείμενα να αποθηκεύω το startTime του καθενός και όταν αποφασίσω να κάνω εξαγωγή του στοιχείου να βρίσκω τη διαφορά τους.

 

Θα μπορούσες να δεις κάτι σαν αυτό ίσως..

 

>
// Time ellapsed in a Queue? xdir

#include <iostream>
#include <queue>
#include <ctime>

using namespace std;

class MyObject
{
public:
	time_t inTime;

	MyObject(void)
	{
		inTime = time(NULL);
	}
};

int main(void)
{
queue<MyObject> qObj;

// Add MyObject to Queue..
qObj.push(MyObject());

// Wait User for remove..
cout << "Press Enter to remove MyObject from Queue..";
cin.get();

// Return how long it was in Queue then pop..
cout <<endl<<difftime(time(NULL), qObj.front().inTime)<<"' in Queue"<<endl;
qObj.pop();

cout << "Press Enter to exit..";
cin.get();

return 0;
}

ΕΙΣΟΔΟΣ / ΕΞΟΔΟΣ:

>
Press Enter to remove MyObject from Queue..

2' in Queue
Press Enter to exit..

 

 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Μου βγάζει αυτό το νούμερο : 1883572746.000000

Προφανός και κάνω κάτι λάθος...!

 

Απλά έβαλα το αντικέιμενο στην ούρα και το έβγαλα. άντε να έκανα και 40 δεύτερα!

Μάλλον είναι τα δευτερόλεπτα από :

00:00 hours, Jan 1, 1970 UTC

http://www.cplusplus...y/ctime/time_t/

 

σχεδόν δλδ 3600*24*365* 42=1324512000 :unsure:

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

παιδιά σόρρυ. εντόπησα λάθος στους δείκτες. οπότε η η πράξη της difftime είναι άκυρη.. ευχαριστώ πάντως για το difftime δεν την ήξερα. αν καταφέρω να βρω το σωστό θα τα ξαναπροσπαθήσω.

 

οκ παιδιά έτρεξε! να στε καλά!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Καλησπέρα,

 

πως θα μπορούσα να πάρω την ώρα συστήματος σε υπολογίσημη μορφή?

 

κάτι αντίστοιχο με το start και end του clock_t.

 

θέλω να αποθηκέυω την ώρα εισόδου ενός αντικειμένου στην ουρά και να υπολογίζω πόσο χρόνο παρέμεινε το αντικείμενο εντός αυτής.

 

Ευχαριστώ!

 

Με το clock_t τι πρόβλημα υπήρχε;

 

EDIT:

 

Sorry, άκυρο... μόλις είδα πως ήθελες να αποθηκεύεις την ώρα.

  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι εύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Δημιουργία νέου...

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.