我正在使用一个输出时间的程序,例如" 2:30 PM",我想在其中添加日期(例如" 04/09/2015 14:30")和最终将其转换为4字节长。如果我用C ++或C#编写代码,我该怎么办?感谢。
答案 0 :(得分:1)
在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;
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
互操作。
答案 1 :(得分:0)
在C#中试试。
Date.Add(new TimeSpan(0, 0, 0))
或
TimeOfDay.Add(new TimepSpan(0,0,0))
答案 2 :(得分:0)
我明白了。很简单:
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);
就是这样。