TryStrToTime - C++ Builder
2022-05-29 本文已影响0人
玄坴
C++ Builder 参考手册 ➙ System::Sysutils ➙ TryStrToTime
字符串转时间
头文件:#include <System.SysUtils.hpp>
命名空间:System::Sysutils
函数原型:
bool __fastcall TryStrToTime(const System::UnicodeString S, System::TDateTime &Value);
bool __fastcall TryStrToTime(const System::UnicodeString S, System::TDateTime &Value, const TFormatSettings &AFormatSettings);
参数:
- S:字符串,时间;
- Value:返回日期时间类型数值转换结果;
- AFormatSettings:地区格式;
返回值:
- true:通过参数 Value 返回日期时间类型数值;
- false:转换失败;
- 字符串 S 为时间,时间可以是12小时或24小时制;
- 如果没有 AFormatSettings 参数,
时间分隔符必须是 FormatSettings.TimeSeparator,
秒和毫秒之间的小数点必须使用 FormatSettings.DecimalSeparator,
注意这个小数点同时应用在浮点数和货币类型的小数点显示和类型转换,
上午可以用 "AM" 也可以用 FormatSettings.TimeAMString (在中国为 "上午"),
下午可以用 "PM" 也可以用 FormatSettings.TimePMString (在中国为 "下午"),
如果 FormatSettings 被修改,可以用 Sysutils::GetFormatSettings(); 恢复默认值为本地格式,
请参考 StrToTime 和 StrToDateTime 的例子; - 如果有 AFormatSettings 参数,
时间分隔符必须是 AFormatSettings.TimeSeparator,
秒和毫秒之间的小数点必须使用 AFormatSettings.DecimalSeparator,
上午可以用 "AM" 也可以用 AFormatSettings.TimeAMString (在中国为 "上午"),
下午可以用 "PM" 也可以用 AFormatSettings.TimePMString (在中国为 "下午"),
请参考 StrToTime 和 StrToDateTime 的例子; - 日期和时间格式可以参考 System::Sysutils::FormatDateTime;
- 函数 StrToTime、StrToTimeDef 和 TryStrToTime 的区别:
• StrToTime 转换失败抛出 EConvertError 异常;
• StrToTimeDef 转换失败返回默认值;
• TryStrToTime 转换结果通过参数返回,函数返回值返回是否转换成功; - 没有 AFormatSettings 参数的函数不是线程安全的,因为使用了全局变量 FormatSettings 作为默认的地区格式;带有 AFormatSettings 参数的函数是线程安全的。
相关:
- System::Sysutils::DateTimeToStr
- System::Sysutils::DateTimeToString
- System::Sysutils::DateToStr
- System::Sysutils::FormatDateTime
- 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::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
C++ Builder 参考手册 ➙ System::Sysutils ➙ TryStrToTime