programing

오늘 자정 타임 스탬프 구해요?

itsource 2022. 10. 5. 23:26
반응형

오늘 자정 타임 스탬프 구해요?

오늘 자정에 php로 타임스탬프를 받는 방법은 무엇입니까?월요일 오후 5시라고 가정하고 이미 일어난 월요일 자정(12시) 타임스탬프를 원합니다.

감사해요.

$timestamp = strtotime('today midnight');

또는 Date Time 경유:

$date = new DateTime('today midnight');
// or: $date = date_create('today midnight');
$timestamp = $date->getTimestamp();

아마도 불변할 것이다.

$midnight = new DateTimeImmutable('today midnight');
// or: $midnight = date_create_immutable('today midnight');
$timestampOfMidnight = $midnight->getTimestamp();
  1. 그것은 디폴트 타임존에 있습니다.
  2. 스포일러: 그냥"midnight " " " " 또는 " " """ ""그 "" "" " " "today
  3. 타임존을 추가합니다(예: "UTC today'이렇게 하다.
  4. 스타일 "UTC 그리팅 스타일: "midnightZ
  5. 이력: PHP 5.1.2(2006년 1월) 이후, PHP 4.3.1(2003년 2월) 이후

기타 예:

지정된 시간 UTC 2020-01-01 00:00:00:

UTC time is ............: [red   ] 1577836800

를 호출할 때strtotime($) 는 다음과 같습니다

today midnight .........: [pink  ] 1577833200
midnight ...............: [pink  ] 1577833200
today ..................: [pink  ] 1577833200
tomorrow ...............: [green ] 1577919600
UTC today ..............: [red   ] 1577836800
today Z ................: [red   ] 1577836800
Asia/Shanghai today ....: [lime  ] 1577808000
Asia/Shanghai ..........: [blue  ] 1577811600
HKST today .............: [copper] 1577804400

온라인 데모: https://3v4l.org/KWFJl


PHP 문서:

  • [ Relative Formats ]페이지에서 [Day-based Notifications]테이블을 참조해 주세요.이러한 형식은 및 을 위한 것입니다.date_create().

  • PHP가 제공하는 더 많은 기능을 살펴보시기 바랍니다.https://php.net/datetime - PHP의 엔트리 페이지와 날짜/시간 관련 함수 및 기타 날짜/시간 관련 확장자 링크.


메모: " 동안midnight"기술적으로는 이틀 사이에, 여기 있습니다."today(하루 시작) PHP의strtotime.

토론:

까지의 답변은 ★★★★★★★★★★★★★★★★★★★★★★.strtotime("today midnight") ★★★★★★★★★★★★★★★★★」strtotime("midnight today")PHP에 으로, PHP의 경우 수 있습니다.좀 장황하게 보일 수 있습니다.strtotime("midnight") ★★★★★★★★★★★★★★★★★」strtotime("today")같은 결과를 반환한다.

그러나 좀 더 장황하게 말해도 그것이 하루를 시작하는 Midnight에 관한 것인지 아니면 오늘 하루의 Midnight에 관한 것인지에 대한 것인지 항상 즉각적으로 질문에 대답하는 것은 아니다.우리는 "오늘 자정"을 읽을 때 하루의 시작을 생각할 수 있지만, 이것은 가정일 뿐 정확하지 않고 아마도 그럴 수 없을 것이다.위키백과:

이 문제에 대한 세계적인 만장일치는 없지만, 대부분의 경우 자정은 새로운 날의 시작으로 간주되며 00:00 시간과 관련이 있습니다.

다음 프로그래밍 질문과 비교해 보십시오.

  • 지정된 자정은 시간 전환입니다.
  • UNIX 타임스탬프 1개를 요구하는 경우
  • 그러면 대답이 없다.

(두 개의 UNIX 타임스탬프 사이에 있기 때문에, 2 개의 타임스탬프를 취득해, 그 2 개의 의미를 기술합니다만, 1 개의 타임스탬프를 요구하기 때문에, 질문에 대답할 수 없습니다).

이 미스매치 및 UNIX 시각의 날짜/시간 참조 방법 때문에 이 문제를 완전히 해결하기란 쉽지 않습니다.

잘 알려진 디지털 24시간 시계와 시간과 분을 사용하여 자정을 표현해 보겠습니다(정확한가요?).):

$midnight = strtotime("today 00:00");

또는 일과 종료 시:

$midnight = strtotime("today 24:00");

(주의: 다음날 시작과 같이 표시됨)

또는 12시간 클럭을 사용하여 자정에 UNIX 타임스탬프를 지정할 수도 있습니다.

$midnight = strtotime("12:00 a.m.");

(주의: "12 midnight" 표기법은 다음 항목에서 지원되지 않습니다.strtotime())

Midnight와 같이 시계로 매핑되는 전환 시간으로 인해 발생할 수 있는 혼란은 "와 같은 12시간 클럭을 사용하면 더욱 뚜렷해질 수 있습니다.midnight정오(PHP에서는 상대적인 날짜/시간 형식으로 사용할 수 없지만)noon" )는 엄밀히 말하면 다시 (정오의 2개의 완전한 날짜 사이 또는 하루의 전반과 후반 사이)입니다.

에, 24시간 는, 「」 「24」 「24」 「」라고 하는 입력만으로는 상태가 않을 .today midnight

마일리지가 다를 수 있습니다.

이것은 시계 시간과 일치합니다.Wikipedia Midnight부터:

미드나잇은 하루에서 다음 날로 이행하는 시각입니다., 특정 관할구역의 현지 공식 시각으로 날짜가 바뀌는 순간입니다.시계 시각으로 보면 자정과는 12시간 차이가 나는 정오와는 반대입니다.[내게 대담]

Wikipedia의 12시간 시계:

"오전 12시와 오후 12시가 언제인지 항상 명확하지는 않습니다.라틴어 meridies(midday), post(후에)에서 pre meridiem(오전)은 정오 전, post meridem(오후)은 정오 이후를 의미합니다.정오(midday, meridies(m.))는 그 전이나 후가 아니기 때문에 오전과 오후라는 용어는 적용되지 않습니다."12 m"은 정오를 나타내는 방법으로 제안되었지만, 이는 거의 수행되지 않으며 자정을 나타내는 방법에 대한 문제도 해결되지 않습니다.

새로운 PHP DateTime 오브젝트는 strtotime()의 32비트 제한을 넘어서는 날짜에 문제가 없기 때문에 사용하는 것이 좋다고 생각합니다.여기 오늘 자정에 데이트하는 방법의 예가 있습니다.

$today = new DateTime();
$today->setTime(0,0);

또는 PHP 5.4 이후를 사용하고 있는 경우는, 다음과 같이 할 수 있습니다.

$today = (new DateTime())->setTime(0,0);

다음 '어울리다'를 .echo $today->format('Y-m-d');오브젝트 출력 형식을 가져옵니다.

PHP DateTime 개체

오늘 12시에.만만하다.

$stamp = mktime(0, 0, 0);

태양이 발 바로 아래를 지나간 가장 최근의 천체 사건의 시간을 계산하려고 합니다.이 시간은 정오를 알리는 지역 관습에 따라 조정되고, 또한 잠재적으로 조정되어 사람들이 퇴근한 후 집에 돌아온 후 충분한 일광이 남도록 하거나 다른 정치적 고려를 위해 계산하려고 합니다.

힘들죠?실제로 이것은 일반적인 문제이지만 완전한 답은 위치에 따라 다릅니다.

$zone = new \DateTimeZone('America/New_York'); // Or your own definition of “here”
$todayStart = new \DateTime('today midnight', $zone);
$timestamp = $todayStart->getTimestamp();

「여기에」의 잠재적인 정의는, https://secure.php.net/manual/en/timezones.php 에 기재되어 있습니다.

2020년 4월 19일 답변 갱신

간단하게 다음과 같이 할 수 있습니다.

$today = date('Y-m-d 00:00:00');

$today_at_midnight = strtotime(date("Ymd"));

원하는 걸 줘야 해

설명.

PHP의 date 함수를 사용하여 시간을 참조하지 않고 오늘의 date를 취득한 후 string to time 함수로 전달하여 날짜와 시간을 epoch 타임스탬프로 변환했습니다.시간이 나지 않으면 그날의 첫 번째 초를 가정합니다.

참고 자료:날짜 기능: http://php.net/manual/en/function.date.php

String To Time : http://us2.php.net/manual/en/function.strtotime.php

$timestamp = strtotime('today midnight');

와 같다

$timestamp = strtotime('today');

서버 작업도 적습니다.

보다 객관적인 방법:

$today = new \DateTimeImmutable('today');

예:

 echo (new \DateTimeImmutable('today'))->format('Y-m-d H:i:s');
// will output: 2019-05-16 00:00:00

또, 다음과 같이 합니다.

echo (new \DateTimeImmutable())->format('Y-m-d H:i:s');
echo (new \DateTimeImmutable('now'))->format('Y-m-d H:i:s');
// will output: 2019-05-16 14:00:35

$midnight = strtotime('midnight');유효하다
시험해 볼 수도 있습니다.strtotime('12am')또는strtotime('[input any time you wish to here. e.g noon, 6pm, 3pm, 8pm, etc]'). 기본값이 오늘이기 때문에 자정 전에 오늘 추가를 건너뛰었습니다.

Carbon을 사용하는 경우 다음을 수행할 수 있습니다.이 날짜의 형식을 지정하여 다음 날짜를 설정할 수도 있습니다.ExpireHTTP 헤더

Carbon::parse('tomorrow midnight')->format(Carbon::RFC7231_FORMAT)

언급URL : https://stackoverflow.com/questions/13129817/getting-a-timestamp-for-today-at-midnight

반응형