Content


NTL
Core
ParseDateTime

ParseDateTime


Parse string containing date and time in specified format and convert it into datetime.

You can find more information in comments below.

/**
Parse string for specified datetime format and return true if successfully parsed or false otherwise 
@param str String for parsing 
@param[out] out Datetime structure where to store result 
@param format Expected format. Default is "%Y-%m-%d %H:%M:%S" 
@param locale Locale used for parsing. Default is current one 
@return True is successfully parsed, otherwise - false 

@para Possible formats: 
    - \%a Abbreviated weekday name 
    - \%A Full weekday name 
    - \%b Abbreviated month name 
    - \%B Full month name 
    - \%c Date and time representation appropriate for locale 
    - \%d Day of month as decimal number (01 - 31) 
    - \%H Hour in 24-hour format (00 - 23) 
    - \%I Hour in 12-hour format (01 - 12) 
    - \%j Day of year as decimal number (001 - 366) 
    - \%m Month as decimal number (01 - 12) 
    - \%M Minute as decimal number (00 - 59) 
    - \%p Current locale's A.M./P.M. indicator for 12-hour clock 
    - \%S Second as decimal number (00 - 59) 
    - \%U Week of year as decimal number, with Sunday as first day of week (00 - 53) 
    - \%w Weekday as decimal number (0 - 6; Sunday is 0) 
    - \%W Week of year as decimal number, with Monday as first day of week (00 - 53) 
    - \%x Date representation for current locale 
    - \%X Time representation for current locale 
    - \%y Year without century, as decimal number (00 - 99) 
    - \%Y Year with century, as decimal number 
    - \%z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown 
    - \%\% Percent sign 
*/
bool ParseDateTime(const String &str, tm &out, const String &format = L"%Y-%m-%d %H:%M:%S", const std::locale &locale = std::locale());
/**
Parse ansi string for specified datetime format and return true if successfully parsed or false otherwise 
@param str String for parsing 
@param[out] out Datetime structure where to store result 
@param format Expected format. Default is "%Y-%m-%d %H:%M:%S" 
@param locale Locale used for parsing. Default is current one 
@return True is successfully parsed, otherwise - false 

@para Possible formats: 
    - \%a Abbreviated weekday name 
    - \%A Full weekday name 
    - \%b Abbreviated month name 
    - \%B Full month name 
    - \%c Date and time representation appropriate for locale 
    - \%d Day of month as decimal number (01 - 31) 
    - \%H Hour in 24-hour format (00 - 23) 
    - \%I Hour in 12-hour format (01 - 12) 
    - \%j Day of year as decimal number (001 - 366) 
    - \%m Month as decimal number (01 - 12) 
    - \%M Minute as decimal number (00 - 59) 
    - \%p Current locale's A.M./P.M. indicator for 12-hour clock 
    - \%S Second as decimal number (00 - 59) 
    - \%U Week of year as decimal number, with Sunday as first day of week (00 - 53) 
    - \%w Weekday as decimal number (0 - 6; Sunday is 0) 
    - \%W Week of year as decimal number, with Monday as first day of week (00 - 53) 
    - \%x Date representation for current locale 
    - \%X Time representation for current locale 
    - \%y Year without century, as decimal number (00 - 99) 
    - \%Y Year with century, as decimal number 
    - \%z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown 
    - \%\% Percent sign 
*/
bool ParseDateTime(const AnsiString &str, tm &out, const AnsiString &format = "%Y-%m-%d %H:%M:%S", const std::locale &locale = std::locale());
Not available for GCC compiler.
Namespace: nitisa
Include: Nitisa/Core/Strings.h