라이브러리

[PHP] date_create_immutable_from_format - DateTimeImmutable::createFromFormat의 별칭




PHP의 date_create_immutable_from_format 함수


PHP 8.1 버전부터 `date_create_immutable_from_format` 함수가 추가되었습니다. 이 함수는 날짜와 시간을 생성하기 위해 사용됩니다. 이 함수는 `date_create_from_format` 함수와 유사하지만, 생성된 날짜와 시간 객체는 불변 객체로 생성됩니다.

# date_create_immutable_from_format 함수의 사용법


`date_create_immutable_from_format` 함수의 사용법은 다음과 같습니다.

#hostingforum.kr
php

date_create_immutable_from_format(string $format, string $time, DateTimeZone $timezone = null): DateTimeImmutable



* `$format`: 날짜와 시간을 나타내는 형식입니다. 예를 들어, `'Y-m-d H:i:s'`는 년-월-일 시:분:초 형식입니다.
* `$time`: 날짜와 시간을 나타내는 문자열입니다.
* `$timezone`: 날짜와 시간을 나타내는 시간대입니다. 기본값은 `null`입니다.

# 예제


다음 예제는 `date_create_immutable_from_format` 함수를 사용하여 날짜와 시간을 생성하는 방법을 보여줍니다.

#hostingforum.kr
php

// 년-월-일 시:분:초 형식의 날짜와 시간을 생성합니다.

$date = date_create_immutable_from_format('Y-m-d H:i:s', '2022-07-25 14:30:00');

echo $date->format('Y-m-d H:i:s') . "
"; // 2022-07-25 14:30:00



// 년-월-일 형식의 날짜를 생성합니다.

$date = date_create_immutable_from_format('Y-m-d', '2022-07-25');

echo $date->format('Y-m-d') . "
"; // 2022-07-25



// 년-월 형식의 날짜를 생성합니다.

$date = date_create_immutable_from_format('Y-m', '2022-07');

echo $date->format('Y-m') . "
"; // 2022-07



# 불변 객체의 특징


`date_create_immutable_from_format` 함수를 사용하여 생성된 날짜와 시간 객체는 불변 객체로 생성됩니다. 불변 객체는 변경할 수 없습니다. 예를 들어, 다음과 같은 코드는 에러를 발생시킵니다.

#hostingforum.kr
php

$date = date_create_immutable_from_format('Y-m-d H:i:s', '2022-07-25 14:30:00');

$date->modify('+1 day'); // 에러: Cannot modify an immutable object



# 시간대 설정


`date_create_immutable_from_format` 함수를 사용하여 생성된 날짜와 시간 객체는 기본적으로 UTC 시간대에 생성됩니다. 시간대를 설정하려면 `$timezone` 매개변수를 사용할 수 있습니다.

#hostingforum.kr
php

$date = date_create_immutable_from_format('Y-m-d H:i:s', '2022-07-25 14:30:00', new DateTimeZone('Asia/Seoul'));

echo $date->format('Y-m-d H:i:s') . "
"; // 2022-07-25 14:30:00



# 결론


`date_create_immutable_from_format` 함수는 PHP 8.1 버전부터 사용할 수 있는 함수로, 날짜와 시간을 생성하기 위해 사용됩니다. 이 함수는 생성된 날짜와 시간 객체를 불변 객체로 생성하므로 변경할 수 없습니다. 시간대를 설정하려면 `$timezone` 매개변수를 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 629 페이지

검색

게시물 검색