C++ Builder 參考手冊 ? System::Sysutils ? TryStrToDateTime
字符串轉(zhuǎn)日期時間類型數(shù)值
頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:
bool __fastcall TryStrToDateTime(
const System::UnicodeString S,
System::TDateTime &Value);
bool __fastcall TryStrToDateTime(
const System::UnicodeString S,
System::TDateTime &Value,
const TFormatSettings &AFormatSettings);
參數(shù):
- S:字符串,日期和時間;
- Value:返回日期時間類型的轉(zhuǎn)換結(jié)果;
- AFormatSettings:地區(qū)格式;
返回值:
- true:通過參數(shù) Value 返回日期時間類型數(shù)值;
- false:轉(zhuǎn)換失敗;
- 字符串 S 包含日期和時間:
如果不包含時間,認為是 00:00:00;
如果不包含日期,認為是 1899年12月30日,因為日期是用從這一天開始的天數(shù)表示的; - 如果沒有 AFormatSettings 參數(shù),日期格式必須和全局變量 FormatSettings.ShortDateFormat 相同,
日期分隔符必須是 FormatSettings.DateSeparator,
時間可以是12小時或24小時,
時間分隔符必須是 FormatSettings.TimeSeparator,
秒和毫秒之間的小數(shù)點必須使用 FormatSettings.DecimalSeparator,
注意這個小數(shù)點同時應用在浮點數(shù)和貨幣類型的小數(shù)點顯示和類型轉(zhuǎn)換,
上午可以用 "AM" 也可以用 FormatSettings.TimeAMString (在中國為 "上午"),
下午可以用 "PM" 也可以用 FormatSettings.TimePMString (在中國為 "下午"),
如果 FormatSettings 被修改,可以用 Sysutils::GetFormatSettings(); 恢復默認值為本地格式,
請參考 StrToDateTime 的例子; - 如果有 AFormatSettings 參數(shù),日期格式必須和參數(shù) AFormatSettings.ShortDateFormat 相同,
日期分隔符必須是 AFormatSettings.DateSeparator,
時間可以是12小時或24小時,
時間分隔符必須是 AFormatSettings.TimeSeparator,
秒和毫秒之間的小數(shù)點必須使用 AFormatSettings.DecimalSeparator
上午可以用 "AM" 也可以用 AFormatSettings.TimeAMString (在中國為 "上午"),
下午可以用 "PM" 也可以用 AFormatSettings.TimePMString (在中國為 "下午"),
請參考 StrToDateTime 的例子; - 日期時間格式可以參考 System::Sysutils::FormatDateTime;
- 函數(shù) StrToDateTime、StrToDateTimeDef 和 TryStrToDateTime 的區(qū)別:
? StrToDateTime 轉(zhuǎn)換失敗拋出 EConvertError 異常;
? StrToDateTimeDef 轉(zhuǎn)換失敗返回默認值;
? TryStrToDateTime 轉(zhuǎn)換結(jié)果通過參數(shù)返回,函數(shù)返回值返回是否轉(zhuǎn)換成功; - 沒有 AFormatSettings 參數(shù)的函數(shù)不是線程安全的,因為使用了全局變量 FormatSettings 作為默認的地區(qū)格式;帶有 AFormatSettings 參數(shù)的函數(shù)是線程安全的。
相關:
- 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