【问题标题】:C++ Setting a TDateTime variableC++ 设置 TDateTime 变量
【发布时间】:2012-09-12 04:07:57
【问题描述】:

我无法将日期设置为 TDateTime 变量。

我试过这个,但没有运气:

TDateTime Mine;
Mine = ("12/05/1990");

我该怎么做?


这段代码有什么问题:

TDateTime Mine("05/05/1990",Date);

我收到以下错误:

[BCC32 错误] File1.cpp(28): E2285 找不到匹配的 'TDateTime::TDateTime(const char *,TDateTime (_fastcall *)())' 完整的解析器上下文 File1.cpp(26):解析:int main(int,char * *)

【问题讨论】:

  • 我假设你在谈论TDateTime。请指定您将来使用的 C++ 库。
  • 试试 TDateTime(year,month,day);

标签: c++ c++builder vcl


【解决方案1】:

您似乎正在尝试在第二行调用构造函数。

TDateTime Mine("12/05/1990",TDateTime::Date); // construction
// some code using Mine
Mine = TDateTime("13/05/1990",TDateTime::Date); // assignment

如果你只想有一个构造函数的参数,那么你应该在那个字符串中也有时间,比如TDateTime("12/05/1990 12:00 am")

【讨论】:

  • 谢谢。下一个 TDateTime 问题。如果我有一个 TDateTime 值,我该如何对其进行日期运算。我的意思是,如果我有两个 TDateTime 变量,我如何计算它们之间的时间差并将这个值格式化为 mnth::dd:hh:mm:ss?
  • @DarrylJanecek 这很复杂,因为“一个月”不能表示为固定的天数。但是你可以减去两个DateTimes,如果你只看结果的时间和天数,这会给你一个有用的结果(所以 2 月 1 日 - 1 月 1 日 = 31 天,而不是 1 个月)(编辑:假设你是不处理TDateTime(0)之前的任何日期时间。)
  • 我正在使用这个代码:TDateTime Mine("12/05/1990",Date);并收到此错误:E2285 找不到匹配的 'TDateTime::TDateTime(const char *,TDateTime (_fastcall *)())'
  • @JesseGood: 'TDateTimeFlag' 不是类或命名空间名称... :(
  • @DarrylJanecek:那么问题不在于代码(代码是正确的),那些是链接器错误,所以你需要确保你的库路径是正确的,等等。我不能再帮忙了.
猜你喜欢
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多