📄 mystringtime.cpp
字号:
// MyStringTime.cpp : 实现文件
//
#include "stdafx.h"
#include "Alarm.h"
#include "MyStringTime.h"
#include ".\mystringtime.h"
// CMyStringTime
CMyStringTime::CMyStringTime()
{
}
CMyStringTime::~CMyStringTime()
{
}
// 将字符串形的时间转换为CTime类型
CTime CMyStringTime::CStringToTime(CString strInput)
{
//首先判断该字符串是否为中文时间形,如02时30分3秒,02:30:3
int nTempPos1 = 0;
int nTempPos2 = 0;
int nTempPos = 0;
UINT nHour = 0; //时
UINT nMinute = 0; //分
UINT nSecond = 0; //秒
nTempPos = strInput.Find("时",0);
if(nTempPos > 0)
{
nTempPos1 = nTempPos;
nHour = atoi(strInput.Left(nTempPos1));
//找到了'时',再找'分'
nTempPos = strInput.Find("分",nTempPos1+1);
nTempPos2 = nTempPos;
nMinute = atoi(strInput.Mid(nTempPos1 + 2,nTempPos2 - nTempPos1 - 2));
if(nTempPos > 0)
{
nTempPos2 = nTempPos;
//按照惯例,剩下的即为妙数
nSecond = atoi(strInput.Mid(nTempPos2 + 2,strInput.GetLength() - 2 - nTempPos2 - 2));
}
}
else //为外文时间格式
{
nTempPos = strInput.Find(":",0);
if(nTempPos > 0)
{
nTempPos1 = nTempPos;
nHour = atoi(strInput.Left(nTempPos1));
//找到了'时',再找'分'
nTempPos = strInput.Find(":",nTempPos1+1);
nTempPos2 = nTempPos;
nMinute = atoi(strInput.Mid(nTempPos1 + 1,nTempPos2 - nTempPos1));
if(nTempPos > 0)
{
nTempPos2 = nTempPos;
//按照惯例,剩下的即为妙数
nSecond = atoi(strInput.Mid(nTempPos2 + 1,strInput.GetLength() - nTempPos2));
}
}
}
CTime t(1970,1,1,nHour,nMinute,nSecond);
return t;
}
// 字符串形变量转换为日期行格式
CTime CMyStringTime::CStringToDate(CString strInput)
{
int nTempPos1 = 0;
int nTempPos2 = 0;
int nTempPos = 0;
UINT nYear = 0;
UINT nMonth = 0;
UINT nDay = 0;
nTempPos = strInput.Find("年",0);
if(nTempPos > 0)
{
nTempPos1 = nTempPos;
nYear = atoi(strInput.Left(nTempPos1));
//找到了'年',再找'月'
nTempPos = strInput.Find("分",nTempPos1+1);
nTempPos2 = nTempPos;
nMonth = atoi(strInput.Mid(nTempPos1 + 2,nTempPos2 - nTempPos1 - 2));
if(nTempPos > 0)
{
nTempPos2 = nTempPos;
//按照惯例,剩下的即为天数
nDay = atoi(strInput.Mid(nTempPos2 + 2,strInput.GetLength() - 2 - nTempPos2 - 2));
}
}
else //为外文时间格式
{
nTempPos = strInput.Find("-",0);
if(nTempPos > 0)
{
nTempPos1 = nTempPos;
nYear = atoi(strInput.Left(nTempPos1));
//找到了'时',再找'分'
nTempPos = strInput.Find("-",nTempPos1+1);
nTempPos2 = nTempPos;
nMonth = atoi(strInput.Mid(nTempPos1 + 1,nTempPos2 - nTempPos1));
if(nTempPos > 0)
{
nTempPos2 = nTempPos;
//按照惯例,剩下的即为天数
nDay = atoi(strInput.Mid(nTempPos2 + 1,strInput.GetLength() - nTempPos2));
}
}
}
CTime t(nYear,nMonth,nDay,0,0,0);
return t;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -