>  기사  >  백엔드 개발  >  mysql 날짜 형식 지정 함수 DATE_FORMAT, FROM_UNIXTIME, UNIX_TIME 알아보기

mysql 날짜 형식 지정 함수 DATE_FORMAT, FROM_UNIXTIME, UNIX_TIME 알아보기

WBOY
WBOY원래의
2016-07-25 09:04:221466검색
  1. DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
  2. DATE_FORMAT(NOW(),'%m- %d-%Y')
  3. DATE_FORMAT(NOW(),'%d %b %y')
  4. DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
코드 복사

결과는 비슷합니다. 2008년 12월 29일 오후 11:45 2008년 12월 29일 2008년 12월 29일 2008년 12월 29일 16:25:46

2. MySQL 데이터베이스의 날짜 및 시간 함수 FROM_UNIXTIME(), UNIX_TIME()... 예: 날짜 => int(11)

  1. SELECT FROM_UNIXTIME(date, '%Y-%c-%d %h:%i:%s' ) as post_date ,
  2. date_format( NOW(), '%Y-%c-%d %h:%i:%s' ) as post_date_gmt
  3. FROM `article` where outkey = 'Y'
코드 복사

1. FROM_UNIXTIME( unix_timestamp ) 매개변수: 일반적으로 1344887103과 같은 10자리 숫자입니다. 반환 값: 두 가지 유형이 있습니다. 'YYYY-MM-DD HH:MM:SS'와 같은 문자열일 수도 있고, YYYYMMDDHHMMSS.uuuuuu와 같은 숫자일 수도 있습니다. 반환되는 내용은 함수가 형식에 따라 다릅니다. 라고 불리는. .

  1. mysql> FROM_UNIXTIME(1344887103)
  2. --------------------- ----- ------
  3. | FROM_UNIXTIME(1344887103)
  4. --------------
  5. | 2012 -08-14 03:45:03
  6. --------------
  7. 1행 세트 (0.00초)
코드 복사

2. FROM_UNIXTIME( unix_timestamp, 형식) 매개변수 unix_timestamp: FROM_UNIXTIME( unix_timestamp) 메소드의 매개변수와 동일한 의미를 갖습니다. 매개변수 형식: 변환 후 시간 문자열을 표시하는 형식입니다. 반환 값: 지정된 시간 형식으로 표시되는 문자열.

  1. mysql> FROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s')
  2. -- --------------------------------
  3. FROM_UNIXTIME| (1344887103,'%Y-%M-%D %h:%i:%s')
  4. ------------------------ -- ----------
  5. | 2012년 8월 14일 03:45:03
  6. ------- -- -------------------------------------
  7. 1행 세트(0.00초)
  8. mysql> select FROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s')
  9. ----------------- - ----------------
  10. | FROM_UNIXTIME(1344887103,'%Y-%m-%D %h: %i:%s')
  11. -------------------------- - -------
  12. | 2012-08-14일 03:45:03
  13. ---------- - ----------------------
  14. 1행 세트(0.00초)
코드 복사

1.UNIX_TIMESTAMP() 반환 값: 현재 시간의 UNIX 형식 숫자 문자열 또는 UNIX 타임스탬프(UTC 시간 '1970-01-01 00:00:00'에서 시작하는 초 수), 일반적으로 10자리(예: 1344887103).

  1. mysql> select unix_timestamp(); unix_timestamp() |
  2. ------------------
  3. 1344887103
  4. ---------------- --
  5. 세트당 1행(0.00초)
코드 복사
2. UNIX_TIMESTAMP( 날짜 ) 매개변수: 날짜는 DATE 문자열, DATETIME 문자열, TIMESTAPE 문자열 또는 YYMMDD 또는 YYYYMMDD와 유사한 숫자 문자열일 수 있습니다. 반환값: UTC 시간 '1970-01-01 00:00:00'부터 이 매개변수까지의 초 수. 서버는 날짜 매개변수를 현재 시간대의 값으로 해석하고 이를 UTC 형식의 내부 시간으로 변환합니다. 클라이언트는 현재 시간대를 스스로 설정할 수 있습니다. TIMESTAMP 열에 UNIX_TIMESTAMP()를 사용하면 함수는 내부 타임스탬프 값을 직접 반환합니다. 범위를 벗어난 시간을 UNIX_TIMESTAMP()에 전달하면 반환 값은 0입니다.

    mysql> SELECT UNIX_TIMESTAMP(); UNIX_TIMESTAMP() |
  1. ------------------
  2. 1344888895
  3. ---------------- --
  4. 1행(0.00초)
  5. mysql> SELECT UNIX_TIMESTAMP('2012-08-14 16:19:23')
  6. --------- ------------------
  7. | UNIX_TIMESTAMP('2012-08-14 16:19:23')
  8. -------------
  9. |1344932363 | 🎜 > -------------
  10. 세트의 1개 행(0.00 초 )
  11. 코드 복사
  12. 참고: UNIX_TIMESTAMP() 및 FROM_UNIXTIME()을 사용하여 TIMESTAMP 값을 Unix 타임스탬프 값으로 변환하는 경우 매핑이 양방향으로 일대일이 아니기 때문에 정밀도가 손실됩니다. 예를 들어, 현지 시간대 변경으로 인해 두 개의 UNIX_TIMESTAMP()가 동일한 Unix 타임스탬프 값에 매핑될 수 있습니다. FROM_UNIXTIME()은 원래 타임스탬프 값에만 매핑됩니다. 다음은 CET 시간대에서 TIMESTAMP를 사용하는 예입니다.

    1. mysql> SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00')
    2. ---------- ----------------
    3. | UNIX_TIMESTAMP('2005-03-27 03:00:00') | 🎜> --------------------------------
    4. |1111885200 |
    5. --------------------------
    6. mysql> SELECT UNIX_TIMESTAMP('2005- 03-27 02:00:00')
    7. ----------------- ---------- ---
    8. | UNIX_TIMESTAMP('2005-03-27 02:00:00')
    9. -------------- ------------ ---------------
    10. |1111885200
    11. -------------- -------------- -------------
    12. mysql> SELECT FROM_UNIXTIME(1111885200)
    13. --------- -------------- ----
    14. | FROM_UNIXTIME(1111885200)
    15. ------- -------
    16. | 2005-03 -27 03:00:00
    17. ------------ --
    코드 복사
    참조 링크: https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions .html#function_unix-타임스탬프


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.