Date/Time格式转换为4字节长
Date/Time format conversion to 4-byte long
我正在使用一个输出时间的程序,如“2:30PM”,我喜欢在其中添加日期(例如“04/09/2015 14:30”)并最终将其转换为 4 -字节长。如果我用 C++ 或 C# 编写代码,我该怎么做?谢谢
在 C# 中试试这个。
Date.Add(new TimeSpan(0, 0, 0))
或
TimeOfDay.Add(new TimepSpan(0,0,0))
在 C++14 中,使用 this library,您可以轻松地将其存储为 std::chrono::system_clock::time_point
,其中:
using namespace date;
using namespace std::chrono;
system_clock::time_point tp = sys_days(apr/9/2015) + 14h + 30min;
A system_clock::time_point
很可能存储为 8 字节有符号整数,而不是 4 字节整数。如果 4 字节问题真的很重要,您可以像这样创建 system_clock::time_point
的同级:
using TimePoint = time_point<system_clock, duration<int32_t, ratio<60>>>;
TimePoint tp = sys_days(apr/9/2015) + 14h + 30min;
此 TimePoint
仍可与 system_clock::time_point
互操作。
我明白了。很简单:
string time = "2:30pm";
DateTime dt = DateTime.Parse(time).ToUniversalTime();
DateTime orig = DateTime(1970, 1, 1, 0, 0, 0, 0);
long ldt = (long)((dt - orig).TotalSeconds);
就是这样。
我正在使用一个输出时间的程序,如“2:30PM”,我喜欢在其中添加日期(例如“04/09/2015 14:30”)并最终将其转换为 4 -字节长。如果我用 C++ 或 C# 编写代码,我该怎么做?谢谢
在 C# 中试试这个。
Date.Add(new TimeSpan(0, 0, 0))
或
TimeOfDay.Add(new TimepSpan(0,0,0))
在 C++14 中,使用 this library,您可以轻松地将其存储为 std::chrono::system_clock::time_point
,其中:
using namespace date;
using namespace std::chrono;
system_clock::time_point tp = sys_days(apr/9/2015) + 14h + 30min;
A system_clock::time_point
很可能存储为 8 字节有符号整数,而不是 4 字节整数。如果 4 字节问题真的很重要,您可以像这样创建 system_clock::time_point
的同级:
using TimePoint = time_point<system_clock, duration<int32_t, ratio<60>>>;
TimePoint tp = sys_days(apr/9/2015) + 14h + 30min;
此 TimePoint
仍可与 system_clock::time_point
互操作。
我明白了。很简单:
string time = "2:30pm";
DateTime dt = DateTime.Parse(time).ToUniversalTime();
DateTime orig = DateTime(1970, 1, 1, 0, 0, 0, 0);
long ldt = (long)((dt - orig).TotalSeconds);
就是这样。