strptime(3) - wariua/manpages-ko GitHub Wiki
strptime - μκ° λ¬Έμμ΄ ννμ μκ° tm κ΅¬μ‘°μ²΄λ‘ λ³ννκΈ°
#define _XOPEN_SOURCE /* feature_test_macros(7) μ°Έκ³ */
#include <time.h>
char *strptime(const char *s, const char *format, struct tm *tm);
strptime()
ν¨μλ strftime(3)μ λ°λμ΄λ€. μ¦ s
κ° κ°λ¦¬ν€λ λ¬Έμμ΄μ format
μ μ§μ λ μμμ μ¨μ tm
μ΄ κ°λ¦¬ν€λ "λΆν μκ°" ꡬ쑰체μ μ μ₯λ κ°λ€λ‘ λ³ννλ€.
λΆν μκ° κ΅¬μ‘°μ²΄ tm
μ <time.h>
μ λ€μμ²λΌ μ μλΌ μλ€.
struct tm {
int tm_sec; /* μ΄ (0-60) */
int tm_min; /* λΆ (0-59) */
int tm_hour; /* μκ° (0-23) */
int tm_mday; /* μ μ€ λ λ²νΈ (1-31) */
int tm_mon; /* μ (0-11) */
int tm_year; /* λ
- 1900 */
int tm_wday; /* μ£Ό μ€ λ λ²νΈ (0-6, μΌμμΌ = 0) */
int tm_yday; /* μ° μ€ λ λ²νΈ (0-365, 1μ 1μΌ = 0) */
int tm_isdst; /* μΌκ΄ μ μ½ μκ° */
};
tm
ꡬ쑰체μ λν λ μμΈν λ΄μ©μ ctime(3)μ 보λΌ.
format
μΈμλ scanf(3)λ₯Ό μ°μμν€λ νλ κΈ°μ νλͺ©κ³Ό ν
μ€νΈ λ¬Έμλ€λ‘ μ΄λ€μ§ λ¬Έμμ΄μ΄λ€. κ° νλ κΈ°μ νλͺ©μ % λ¬Έμμ λ€μ΄μ λ€λ₯Έ λ¬Έμ νλλ‘ λμ΄ μμ΄μ κ·Έ νλ κΈ°μ νλͺ©μ΄ 무μμ λμ νλμ§ λνλΈλ€. format
λ¬Έμμ΄μ λ€λ₯Έ λ¬Έμλ€μ λͺ¨λ μ
λ ₯ λ¬Έμμ΄μ λμνλ λ¬Έμκ° μμ΄μΌ νλ€. λ¨ μμΈμ μΌλ‘ 곡백 λ¬Έμλ μ
λ ₯ λ¬Έμμ΄μ 0κ° μ΄μμ 곡백 λ¬Έμμ λμνλ€. λ νλ κΈ°μ νλͺ© μ¬μ΄μλ 곡백μ΄λ λ€λ₯Έ μμ λλ μ«μ λ¬Έμκ° μμ΄μΌ νλ€.
strptime()
ν¨μλ μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ μ
λ ₯ λ¬Έμμ΄μ μ²λ¦¬ν΄ λκ°λ€. κ°λ₯ν μΈ κ°μ§ μ
λ ₯ μμ(곡백, 리ν°λ΄, μμ) κ°κ°μ νλμ© μ²λ¦¬νλ€. μ
λ ₯μ΄ μμ λ¬Έμμ΄μ μΌμΉλμ§ μμΌλ©΄ ν¨μ λμμ λ©μΆλ€. μμ λ° μ
λ ₯ λ¬Έμμ΄ λλ¨Έμ§λ μ²λ¦¬νμ§ μλλ€.
μ§μνλ μ λ ₯ νλ κΈ°μ νλͺ©λ€μ΄ μλ λμ΄λΌ μλ€. ν μ€νΈ λ¬Έμμ΄(κ°λ Ή μμΌ μ΄λ¦μ΄λ μ μ΄λ¦)μ λ§μΆ° 보λ κ²½μ°μλ λμλ¬Έμ κ΅¬λΆ μμ΄ λΉκ΅νλ€. μλ₯Ό λ§μΆ° 보λ κ²½μ°μλ μμ 0μ΄ μ€λ κ±Έ νμ©νλ μꡬνμ§λ μλλ€.
%% |
% λ¬Έμ. |
%a λλ %A
|
νμ¬ λ‘μΊμ λ°λ₯Έ μμΌ μ΄λ¦. μΆμ½ μ΄λ¦ λλ μλ μ΄λ¦. |
%b λλ %B λλ %h
|
νμ¬ λ‘μΊμ λ°λ₯Έ μ μ΄λ¦. μΆμ½ μ΄λ¦ λλ μλ μ΄λ¦. |
%c |
νμ¬ λ‘μΊμ λ μ§ λ° μκ° νν. |
%C |
μΈκΈ° λ²νΈ. (0-99) |
%d λλ %e
|
μ μ€ λ μ§. (1-31) |
%D |
%m/%d/%y μ κ°μ. (λ―Έκ΅ λ°©μ λ μ§λ‘ λ―Έκ΅μΈ μλ μ΄λ€μκ² λλ¨ν νΌλμ€λ¬μ΄ λ°©μμ΄λ€. μ λ½μμλ %d/%m/%y κ° λ리 μ°μ΄κΈ° λλ¬Έμ νΉν κ·Έλ λ€. ISO 8601 νμ€ νμμ %Y-%m-%d μ΄λ€. |
%H |
μκ°. (0-23) |
%I |
12μκ° μκ³μ μκ°. (1-12) |
%j |
μ° μ€ λ μ§. (1-366) |
%m |
μ λ²νΈ. (1-12) |
%M |
λΆ. (0-59) |
%n |
μμ κΈΈμ΄ κ³΅λ°±. |
%p |
λ‘μΊμ μ€μ μ€ν ν μ€νΈ. (μ£Όμ: μμ μλ μμ.) |
%r |
12μκ° μκ³μ μκ°. (λ‘μΊμ μ€μ μ€ν μ¬μ©.) POSIX λ‘μΊμμλ %I:%M:%S %p μ κ°λ€. νμ¬ λ‘μΊμ LC_TIME μμ t_fmt_ampm μ΄ λΉμ΄ μμΌλ©΄ λμ λ°©μμ΄ κ·μ λΌ μμ§ μλ€. |
%R |
%H:%M κ³Ό κ°μ. |
%S |
μ΄. (0-60. μ€μ΄ λλ¬Έμ 60μ΄ κ°λ₯. μ΄μ μλ 61λ νμ©νμ.) |
%t |
μμ κΈΈμ΄ κ³΅λ°±. |
%T |
%H:%M:%S μ κ°μ. |
%U |
μΌμμΌμ μ£Όμ 첫째 λ λ‘ νλ μ£Ό λ²νΈ. (0-53) 1μ 첫 λ²μ§Έ μΌμμΌμ΄ 1λ² μ£Ό 첫λ μ΄λ€. |
%w |
μ£Ό μ€ λ λ²νΈ. (0-6) μΌμμΌ = 0. |
%W |
μμμΌμ μ£Όμ 첫째 λ λ‘ νλ μ£Ό λ²νΈ. (0-53) 1μ 첫 λ²μ§Έ μμμΌμ΄ 1λ² μ£Ό 첫λ μ΄λ€. |
%x |
λ μ§. λ‘μΊμ λ μ§ νμ μ¬μ©. |
%X |
μκ°. λ‘μΊμ μκ° νμ μ¬μ©. |
%y |
μΈκΈ° λ΄ μ°λ. (0-99) μΈκΈ°λ₯Ό λ°λ‘ μ§μ νμ§ μμμ λ 69-99 λ²μμ κ°μ 20μΈκΈ°μ μ°λ(1969-1999)λ₯Ό κ°λ¦¬ν€κ³ , 00-68 λ²μμ κ°μ 21μΈκΈ°μ μ°λ(2000-2068)λ₯Ό κ°λ¦¬ν¨λ€. |
%Y |
μΈκΈ° ν¬ν¨ μ°λ. (μλ₯Ό λ€μ΄ 1991) |
μμμ E λλ Oλ‘ μΌλΆ νλ κΈ°μ νλͺ©λ€μ λ³κ²½ν΄μ λ체 νμ λ΄μ§ μ§μ λ°©μμ μ¨μΌ ν¨μ λνλΌ μ μλ€. νμ¬ λ‘μΊμ λ체 νμ λ΄μ§ μ§μ λ°©μμ΄ μ‘΄μ¬νμ§ μλ κ²½μ°μλ λ³κ²½ μ λ νλ κΈ°μ νλͺ©μ μ΄λ€.
E μμμλ μ λ ₯ λ¬Έμμ΄μ λ μ§ λ° μκ°μ μν λ‘μΊλ³ λ체 ννμ΄ μμ μ μμμ λνλΈλ€.
%Ec |
λ‘μΊμ λ μ§ λ° μκ° λ체 νν. |
%EC |
λ‘μΊμ λ체 ννμΌλ‘ λ κΈ°μ€ μ°λ(κΈ°κ°) μ΄λ¦. |
%Ex |
λ‘μΊμ λ μ§ λ체 νν. |
%EX |
λ‘μΊμ μκ° λ체 νν. |
%Ey |
λ‘μΊμ λ체 ννμΌλ‘ λ %EC μ μ€νμ
. (μ°λλ§) |
%EY |
μ 체 μ°λ λ체 νν. |
O μμμλ μ«μ μ λ ₯μ΄ λ‘μΊλ³ λ체 νμμΌ μ μμμ λνλΈλ€.
%Od λλ %Oe
|
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ μ€ λ μ§. μμ 0μ νμ©νλ μꡬνμ§λ μλλ€. |
%OH |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν (24μκ° μκ³) μκ°. |
%OI |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν (12μκ° μκ³) μκ°. |
%Om |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ. |
%OM |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν λΆ. |
%OS |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ΄. |
%OU |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ° μ€ μ£Ό λ²νΈ. (μΌμμΌμ΄ μ£Όμ 첫λ ) |
%Ow |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ£Ό μ€ λ λ²νΈ. (μΌμμΌ=0) |
%OW |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ° μ€ μ£Ό λ²νΈ. (μμμΌμ΄ μ£Όμ 첫λ ) |
%Oy |
λ‘μΊμ λ체 μ«μ μ¬λ³Όμ μ΄μ©ν μ°λ. (%C κΈ°μ€ μ€νμ
) |
ν¨μμ λ°ν κ°μ κ·Έ ν¨μ νΈμΆμμ μ²λ¦¬λμ§ μμ 첫 λ¬Έμμ λν ν¬μΈν°μ΄λ€. μ
λ ₯ λ¬Έμμ΄μ΄ μμ λ¬Έμμ΄μμ μꡬνλ κ²λ³΄λ€ λ§μ λ¬Έμλ₯Ό λ΄κ³ μλ κ²½μ°μλ λ§μ§λ§μΌλ‘ μλͺ¨ν μ
λ ₯ λ¬Έμ λ°λ‘ λ€μμ λ°ν κ°μ΄ κ°λ¦¬ν¨λ€. μ
λ ₯ λ¬Έμμ΄ μ 체λ₯Ό μλͺ¨ν κ²½μ°μλ λ¬Έμμ΄ λμ λ λ°μ΄νΈλ₯Ό λ°ν κ°μ΄ κ°λ¦¬ν¨λ€. strptime()
μμ μμ λ¬Έμμ΄ μ 체λ₯Ό λ§μΆλ λ° μ€ν¨νλ©΄, μ¦ μ€λ₯κ° λ°μνμΌλ©΄ ν¨μκ° NULLμ λ°ννλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
strptime() |
μ€λ λ μμ μ± | MT-Safe env locale |
POSIX.1-2001, POSIX.1-2008, SUSv2.
μμΉμ μΌλ‘ μ΄ ν¨μμμλ tm
μ μ΄κΈ°ν νμ§ μκ³ λͺ
μλ κ°λ€μ μ μ₯ν λΏμ΄λ€. μ΄λ νΈμΆ μ μ tm
μ μ΄κΈ°ν ν΄μΌ νλ€λ λ»μ΄λ€. νμ§λ§ μΈλΆ μ¬νμ μ λμ€ μμ€ν
λ€ κ°μ μ‘°κΈμ© λ€λ₯΄λ€. glibc ꡬνμμλ λͺ
νν μ§μ λΌ μμ§ μμ νλλ€μ 건λλ¦¬μ§ μλλ€. λ¨ μ°μμΌ μμλ€ μ€ νλλΌλ λ°λμμΌλ©΄ tm_wday
λ° tm_yday
νλλ₯Ό λ€μ κ³μ°νλ€.
'y'(μΈκΈ° λ΄ μ°λ) μ§μ νλͺ©μ glibc 2.0μμ 1950-2049 λ²μμ μ°λλ₯Ό λνλ΄λ κ²μΌλ‘ μ²λ¦¬νλ€. glibc 2.1λΆν°λ 1969-2068 λ΄ μ°λλ‘ λ°λλ€.
λμΉμ±μ μν΄ glibcμμλ strftime(3)μμμ κ°μ μμ λ¬Έμλ€μ strptime()
μμ μ§μνλ €κ³ λ
Έλ ₯νλ€. (λλΆλΆμ κ²½μ° ν΄λΉ νλλ₯Ό νμ±μ νλ tm
λ΄ νλλ λ°κΎΈμ§ μλλ€.)
%F |
%Y-%m-%d μ κ°μ. ISO 8601 λ μ§ νμ. |
%g |
ISO μ£Ό λ²νΈ λ°©μμ λΆν©νλ μΈκΈ° μλ μ°λ. (0-99) |
%G |
ISO μ£Ό λ²νΈ λ°©μμ λΆν©νλ μ°λ. (μλ₯Ό λ€μ΄ 1991) |
%u |
μμ§μλ‘ λ μ£Ό μ€ λ λ²νΈ. (1-7, μμμΌ = 1) |
%V |
μμ§μλ‘ λ ISO 8601:1988 μ£Ό λ²νΈ. (1-53) 1μ 1μΌμ ν¬ν¨ν (μμμΌλΆν° μμνλ) μ£Όμμ 4μΌ μ΄μμ΄ μν΄μ μμΌλ©΄ 1λ² μ£Όλ‘ λ³Έλ€. μλλ©΄ μ λ λ§μ§λ§ μ£Όμ΄κ³ κ·Έ λ€μ μ£Όκ° 1λ² μ£Όκ° λλ€. |
%z |
RFC-822/ISO 8601 νμ€ μκ°λ μ§μ . |
%Z |
μκ°λ μ΄λ¦. |
λΉμ·νκ² strftime(3)μ GNU νμ₯ λλ¬Έμ %H
λμμ΄λ‘ %k
λ₯Ό λ°μλ€μ΄κ³ , %I
λμμ΄λ‘ %l
μ, %p
λμμ΄λ‘ %P
λ₯Ό λ°μλ€μΈλ€. λ§μ§λ§μΌλ‘ λ€μμ μ§μνλ€.
%s |
μν¬ν¬ 1970-01-01 00:00:00 +0000 (UTC) μ΄νμ μ΄ μ. μ€μ΄λ₯Ό μ§μνμ§ μλ κ²½μ°μλ μ€μ΄λ₯Ό μΈμ§ μλλ€. |
glibc ꡬνμμλ λ νλ κΈ°μ νλͺ© μ¬μ΄μ κ³΅λ°±μ΄ μκΈ°λ₯Ό μꡬνμ§ μλλ€.
λ€μ μλ strptime()
λ° strftime(3) μ¬μ© λ°©μμ λ³΄μ¬ μ€λ€.
#define _XOPEN_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int
main(void)
{
struct tm tm;
char buf[255];
memset(&tm, 0, sizeof(struct tm));
strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm);
strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm);
puts(buf);
exit(EXIT_SUCCESS);
}
time(2), getdate(3), scanf(3), setlocale(3), strftime(3)
2017-09-15