### 设计 CTimeString 类实现时间和字符串的相互转换

在使用 C++语言开发应用程序时，涉及时间和字符串的相互转换是一件比较头痛的事。将时间转换为字符串略微容易一些，因此 C 库函数提供了将时间转换为字符串的函数，但是却没有提供将字符串转换为时间的函数。因此，要实现将字符串转换为时间，就需要我们自己进行处理了。

为了方便在程序中进行时间与字符串的相互转换，笔者设计了一个 CTimeString 类。在该类中定义了两个方法，其中 TimeToString 方法用于将时间转换为字符串，StringToTime 方法用于将字符串转换为时间。CTimeString 类的声明如下：

class CTimeString

{

public:

static void TimeToString(time_t &tmDate, char *szTime); //时间转换为字符串

static void StringToTime(char *szTime, time_t &tmDate); //字符串转换为时间

};

下面的代码演示了将一个字符串形式的日期转换为时间类型，然后将时间类型数据转换为字符串类型输出。

int main(int argc, char* argv[])

{

time_t time1; //定义一个时间对象

CTimeString::StringToTime("2009-07-12 4:10:54", time1); //将字符串转换为时间

char szTime[128] = {0};

CTimeString::TimeToString(time1, szTime); //将时间转换为字符串

cout << szTime <<endl; //输出结果

return 0;

}

效果如图 1 所示。

图 1 运行结果

提示：有关CTimeString类的详细信息请参考源码部分。