PHP에서 datetime을 ISO 8601로 변환하는 방법
시간을 변환하려면 어떻게 해야 하나요?2010-12-30 23:21:46
ISO 8601 날짜 형식으로? (-_-;)
객체 지향
이것이 권장되는 방법입니다.
$datetime = new DateTime('2010-12-30 23:21:46');
echo $datetime->format(DateTime::ATOM); // Updated ISO8601
절차
이전 버전의 PHP 또는 절차 코드가 더 익숙한 경우.
echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
PHP 5 이후에는 다음을 사용할 수 있습니다.echo date("c");
ISO 8601 형식의 날짜/시간을 구성합니다.
코멘트 주의사항:
이것에 관해서는, 다음의 양쪽의 표현은, 타임 존에 대해서, 기본적인 형식에 대해서 유효합니다.±[hh]:[mm], ±[hh][mm], or ±[hh]
.
단, +0X:00는 올바른 값이고 +0X00은 연장 사용 시 올바르지 않습니다.그래서 사용하는 것이 좋다.date("c")
여기에서도 비슷한 논의가 있습니다.
ISO 8601에서 unixtimestamp로 변환하는 방법:
strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500
unixtimestamp에서 ISO 8601(타임존 서버)로 변환하는 방법:
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00
unixtimestamp에서 ISO 8601(GMT)로 변환하는 방법:
date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00
unixtimestamp에서 ISO 8601(커스텀 시간대)로 변환하는 방법:
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
datetime-local 값을 설정하려고 하면
date("Y-m-d\TH:i",strtotime('2010-12-30 23:21:46'));
//output : 2010-12-30T23:21
PHP 공식 문서에 따르면 다음과 같이 포맷할 수 있습니다.
echo $objDateTime->format('c'); // ISO8601 formated datetime
echo $objDateTime->format(DateTime::ISO8601); // Another way to get an ISO8601 formatted string
ISO 8601은 기본적으로 PHP에서 다음과 같이 표시됩니다."Y-m-d\TH:i:sP"
이 값은 상수에서 얻을 수 있습니다.
DateTime::ATOM
- PHP 버전이 7.2보다 낮은 경우(삭제됨)
DateTimeInterface::ATOM
- 7.2 이후 PHP 버전용
다음과 같이 시험해 볼 수 있습니다.
$datetime = new DateTime('2010-12-30 23:21:46');
echo $datetime->format(DATE_ATOM);
$datetime->format('Y-m-d\TH:i:s.u\Z')
는 적절한 포맷과 "T" 구분자, "Z" 시간대(먼저 UTC로 변환해야 함) 및 마이크로초( 생략)를 지정해야 합니다..u
소수 초수를 지원하지 않는 경우)
를 사용하는 이유에 대해서는, https://stackoverflow.com/a/9532375/65387 를 참조해 주세요.T
이렇게 모달 내부 변환을 통해 타임스탬프 변환을 얻을 수도 있습니다.
class YourModal extends Model
{
public function getCreatedAtAttribute($date)
{
return date(DATE_ISO8601, strtotime($date)); // ISO 8601 Date Format
}
}
언급URL : https://stackoverflow.com/questions/5322285/how-do-i-convert-datetime-to-iso-8601-in-php
'programing' 카테고리의 다른 글
C 프로그램이 MySQL 프로시저에서 결과 값을 가져올 수 없습니다. (0) | 2023.01.01 |
---|---|
int 유형의 리터럴 xyz가 범위를 벗어났습니다. (0) | 2023.01.01 |
MariaDb에 연결할 때 MySql Workbench 오류가 발생했습니다.performance_schema.user_variables_by_thread' 테이블이 존재하지 않습니다. (0) | 2022.12.27 |
한 배열의 요소가 PHP의 다른 배열에 있는지 확인하는 중 (0) | 2022.12.27 |
JAR 파일 실행 방법 (0) | 2022.12.27 |