晕,一个简单的日期问题,搞不定了,在线等

slothboy 2004-11-30 05:11:42
如何把一个字符串转换成日期格式呢?
StrToDate()这个函数看了半天不太明白,他的格式是不是不固定啊?是和机器的设置有关么?有没有类似format的函数用啊?
...全文
195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
slothboy 2004-11-30
  • 打赏
  • 举报
回复
大家来看啊

我狂晕啊,什么世道啊,身份证分析问题.大家都进来看啊

http://community.csdn.net/Expert/topic/3602/3602913.xml?temp=.4952509
slothboy 2004-11-30
  • 打赏
  • 举报
回复
我晕,刚才查了,原来1978年2月就是没有29号,我狂晕.
slothboy 2004-11-30
  • 打赏
  • 举报
回复
感谢阿华,但是有问题啊.
第一.我现在这样
LongDateFormat = "yyyy-mm-dd";
mDate = StrToDate(sDate);

运算中出现 1978-02-29 不是有效日期的提示


ntahua 2004-11-30
  • 打赏
  • 举报
回复
别的地方看到的,没试过
【函数声明】
System::TDateTime __fastcall StrToDate(const AnsiString S);

【参数表】
const AnsiString S
要转换的字符串。

【返回值】
System::TDateTime
转换后的TDateTime型的日期。

【函数说明】
将字符串对象转换为年月日对象。
如果参数字符串不是正确的日期值,将产生异常。

【实例】
TDateTime mDate;
AnsiString sDate;

sDate = "2004-6-25";
//在转换前建议先用TryStrToDate函数判断是否能转换
//实际上TryStrToDate函数,就可以完成转换工作
if (TryStrToDate(sDate, mDate))
mDate= StrToDate(sDate);
ShowMessage(mDate); //这里其实又转为字符串显示的
slothboy 2004-11-30
  • 打赏
  • 举报
回复
回samchoy() ,因为日期是从二进制数据文件里面解析出来的,要做日期运算.我也没有办法啊.
samchoy 2004-11-30
  • 打赏
  • 举报
回复
最简单的变通办法: 不要用字符串来存放日期 :)
slothboy 2004-11-30
  • 打赏
  • 举报
回复
回复人: h98458(零点起飞·是谁装饰了谁的梦?)
========================
不好意思,没有看太明白,而且有没有简单的解决办法啊.
slothboy 2004-11-30
  • 打赏
  • 举报
回复
回楼上,我试过了,yyyy-mm-dd不行啊,而且我不能靠本地格式来识别啊,以前用vb搞过一个程序就发现过问题,在win98和win2000上取到的日期格式不一样.不格式化不行啊.
h98458 2004-11-30
  • 打赏
  • 举报
回复
函数名称 StrToDate 
函数说明
将字符串对象转换为年月日对象,函数原型如下:
System::TDateTime __fastcall StrToDate(const AnsiString S);

-----------------------------------------------------------------
回复人: gounliey(流浪者)
AnsiString myformat(int s)
{
int l;
AnsiString output;
output+=String(FormatFloat("00",s/3600));
l = s % 3600;
output+=":"+String(FormatFloat("00",l/60));
l = l % 60;
output+=":"+String(FormatFloat("00",l));
return(output);
}

samchoy 2004-11-30
  • 打赏
  • 举报
回复
你的字符串要符合本地的日期格式:yyyy-mm-dd

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧