History

TimeSeriesPlatFormLibrary: (1) Added common GetUnixTime function, (2) Improved SubscriberInstance callback registrations and other functionality

J. Ritchie Carroll committed 8 years ago

Commit 708c39f1 parent ddde4ba5 files · +89 −25Browse files

Showing the changes to Source/Libraries/TimeSeriesPlatformLibrary/Common/Convert.cpp (1 of 5 files). Show all

Unified · Split

Source/Libraries/TimeSeriesPlatformLibrary/Common/Convert.cpp+12−4
@@ -29,13 +29,21 @@ · 28 unmodified lines
29 29
30namespace gsfts = GSF::TimeSeries;30namespace gsfts = GSF::TimeSeries;
31 31
32std::size_t gsfts::TicksToString(char* ptr, std::size_t maxsize, std::string format, int64_t ticks)32void GSF::TimeSeries::GetUnixTime(gsfts::int64_t ticks, std::time_t& unixSOC, int& milliseconds)
33{33{
34 // Unix dates are measured as the number of seconds since 1/1/197034 // Unix dates are measured as the number of seconds since 1/1/1970
35 const int64_t BaseTimeOffset = 621355968000000000L;35 const int64_t BaseTimeOffset = 621355968000000000L;
36 36
37 std::time_t fromSeconds = (std::time_t)((ticks - BaseTimeOffset) / 10000000);37 unixSOC = (std::time_t)((ticks - BaseTimeOffset) / 10000000);
38 int milliseconds = (int)(ticks / 10000 % 1000);38 milliseconds = (int)(ticks / 10000 % 1000);
39}
40
41std::size_t GSF::TimeSeries::TicksToString(char* ptr, std::size_t maxsize, std::string format, gsfts::int64_t ticks)
42{
43 std::time_t fromSeconds;
44 int milliseconds;
45
46 GetUnixTime(ticks, fromSeconds, milliseconds);
39 47
40 std::stringstream formatStream;48 std::stringstream formatStream;
41 std::size_t formatIndex = 0;49 std::size_t formatIndex = 0;
@@ -78,4 +86,4 @@ std::size_t gsfts::TicksToString(char* ptr, std::size_t maxsize, std::string for · 36 unmodified lines
78 }86 }
79 87
80 return std::strftime(ptr, maxsize, formatStream.str().data(), std::localtime(&fromSeconds));88 return std::strftime(ptr, maxsize, formatStream.str().data(), std::localtime(&fromSeconds));
81}89}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t