TryStrToDateTime - C++ Builder

C++ Builder 参考手册 ➙ System::Sysutils ➙ TryStrToDateTime


字符串转日期时间类型数值

头文件:#include
命名空间:System::Sysutils
函数原型:

bool __fastcall TryStrToDateTime(
    const System::UnicodeString S,
    System::TDateTime &Value);

bool __fastcall TryStrToDateTime(
    const System::UnicodeString S,
    System::TDateTime &Value,
    const TFormatSettings &AFormatSettings);

参数:

  • S:字符串,日期和时间;
  • Value:返回日期时间类型的转换结果;
  • AFormatSettings:地区格式;

返回值:

  • true:通过参数 Value 返回日期时间类型数值;
  • false:转换失败;
  • 字符串 S 包含日期和时间:
    如果不包含时间,认为是 00:00:00;
    如果不包含日期,认为是 1899年12月30日,因为日期是用从这一天开始的天数表示的;
  • 如果没有 AFormatSettings 参数,日期格式必须和全局变量 FormatSettings.ShortDateFormat 相同,
    日期分隔符必须是 FormatSettings.DateSeparator,
    时间可以是12小时或24小时,
    时间分隔符必须是 FormatSettings.TimeSeparator,
    秒和毫秒之间的小数点必须使用 FormatSettings.DecimalSeparator,
    注意这个小数点同时应用在浮点数和货币类型的小数点显示和类型转换,
    上午可以用 "AM" 也可以用 FormatSettings.TimeAMString (在中国为 "上午"),
    下午可以用 "PM" 也可以用 FormatSettings.TimePMString (在中国为 "下午"),
    如果 FormatSettings 被修改,可以用 Sysutils::GetFormatSettings(); 恢复默认值为本地格式,
    请参考 StrToDateTime 的例子;
  • 如果有 AFormatSettings 参数,日期格式必须和参数 AFormatSettings.ShortDateFormat 相同,
    日期分隔符必须是 AFormatSettings.DateSeparator,
    时间可以是12小时或24小时,
    时间分隔符必须是 AFormatSettings.TimeSeparator,
    秒和毫秒之间的小数点必须使用 AFormatSettings.DecimalSeparator
    上午可以用 "AM" 也可以用 AFormatSettings.TimeAMString (在中国为 "上午"),
    下午可以用 "PM" 也可以用 AFormatSettings.TimePMString (在中国为 "下午"),
    请参考 StrToDateTime 的例子;
  • 日期时间格式可以参考 System::Sysutils::FormatDateTime;
  • 函数 StrToDateTime、StrToDateTimeDef 和 TryStrToDateTime 的区别:
    • StrToDateTime 转换失败抛出 EConvertError 异常;
    • StrToDateTimeDef 转换失败返回默认值;
    • TryStrToDateTime 转换结果通过参数返回,函数返回值返回是否转换成功;
  • 没有 AFormatSettings 参数的函数不是线程安全的,因为使用了全局变量 FormatSettings 作为默认的地区格式;带有 AFormatSettings 参数的函数是线程安全的。

相关:

  • System::Sysutils::DateTimeToStr
  • System::Sysutils::DateTimeToString
  • System::Sysutils::DateToStr
  • System::Sysutils::FormatDateTime
  • System::Sysutils::FormatSettings
  • System::Sysutils::GetFormatSettings
  • System::Sysutils::StrToBool
  • System::Sysutils::StrToBoolDef
  • System::Sysutils::StrToCurr
  • System::Sysutils::StrToCurrDef
  • System::Sysutils::StrToDate
  • System::Sysutils::StrToDateDef
  • System::Sysutils::StrToDateTime
  • System::Sysutils::StrToDateTimeDef
  • System::Sysutils::StrToFloat
  • System::Sysutils::StrToFloatDef
  • System::Sysutils::StrToInt
  • System::Sysutils::StrToIntDef
  • System::Sysutils::StrToInt64
  • System::Sysutils::StrToInt64Def
  • System::Sysutils::StrToTime
  • System::Sysutils::StrToTimeDef
  • System::Sysutils::StrToUInt
  • System::Sysutils::StrToUIntDef
  • System::Sysutils::StrToUInt64
  • System::Sysutils::StrToUInt64Def
  • System::Sysutils::TFormatSettings
  • System::Sysutils::TimeToStr
  • System::Sysutils::TryStrToBool
  • System::Sysutils::TryStrToCurr
  • System::Sysutils::TryStrToDate
  • System::Sysutils::TryStrToDateTime
  • System::Sysutils::TryStrToFloat
  • System::Sysutils::TryStrToInt
  • System::Sysutils::TryStrToInt64
  • System::Sysutils::TryStrToTime
  • System::Sysutils::TryStrToUInt
  • System::Sysutils::TryStrToUInt64
  • System::Sysutils
  • System::TDateTime
  • System

C++ Builder 参考手册 ➙ System::Sysutils ➙ TryStrToDateTime

你可能感兴趣的:(TryStrToDateTime - C++ Builder)