source: ntrip/trunk/BNC/bnctime.h@ 3552

Last change on this file since 3552 was 3552, checked in by mervart, 12 years ago
File size: 1.6 KB
Line 
1
2#ifndef BNCTIME_H
3#define BNCTIME_H
4
5#include <string>
6
7class bncTime {
8 public:
9 bncTime() {this->reset();}
10 bncTime(int gpsw, double gpssec);
11
12 bncTime& set(int gpsw, double gpssec);
13 bncTime& set(int year, int month, int day, int hour, int min, double sec);
14 bncTime& set(int year, int month, int day, double daysec);
15 bncTime& setmjd(double daysec, int mjd);
16
17 unsigned int mjd() const;
18 double daysec() const;
19 unsigned int gpsw() const;
20 double gpssec() const;
21 unsigned long longSec() {
22 return (unsigned long) gpsw() * 604800UL + (unsigned long) gpssec();
23 }
24 void civil_date (unsigned int& year, unsigned int& month,
25 unsigned int& day) const;
26 void civil_time (unsigned int& hour, unsigned int& min,
27 double& sec) const;
28 bool valid() const {return _mjd != 0 || _sec != 0.0;}
29 bool operator==(const bncTime &time1) const;
30 bool operator!=(const bncTime &time1) const;
31 bool operator<(const bncTime &time1) const;
32 bool operator>(const bncTime &time1) const;
33 bool operator<=(const bncTime &time1) const;
34 bool operator>=(const bncTime &time1) const;
35 double operator-(const bncTime &time1) const;
36 bncTime operator-(double sec) const;
37 bncTime operator+(double sec) const;
38
39 std::string timestr(unsigned numdec = 3, char sep = ':') const;
40 std::string datestr(char sep = '-') const;
41
42 private:
43 void reset() {_mjd = 0; _sec = 0;}
44
45 unsigned int _mjd;
46 double _sec;
47};
48
49#endif
50
Note: See TracBrowser for help on using the repository browser.