mysql 타임스탬프란 무엇인가요?
1. 시간을 타임스탬프로 변환
[sql] view plaincopyprint?
select unix_timestamp('2009-10-26 10-06-07' )
매개변수가 비어 있으면 처리는 현재 시간입니다.
2. 타임스탬프를 시간으로 변환
[sql] view plaincopyprint?
select from_unixtime(1256540102)
일부 애플리케이션에서 생성된 타임스탬프에는 밀리초로 표시되는 이보다 세 자리가 더 많습니다. 변환하려면 먼저 마지막 세 자리를 제거해야 합니다. NULL이 반환됩니다. p>
UNIX_TIMESTAMP(date)
인수 없이 호출되면 Unix 타임스탬프('1970-01-01 00:00:00' GMT 이후의 초 수)를 반환합니다. . UNIX_TIMESTAMP()가 날짜 매개변수와 함께 호출되면 '1970-01-01 00:00:00' GMT 이후의 초 수를 반환합니다. 날짜는 DATE 문자열, DATETIME 문자열, TIMESTAMP 또는 YYMMDD 또는 YYYYMMDD 형식의 현지 시간 숫자일 수 있습니다.
[sql] view plaincopyprint?
mysql> select UNIX_TIMESTAMP()
-> 882226357
mysql> select UNIX_TIMESTAMP(' 1997-10-04 22:23:00');
-> 875996580
UNIX_TIMESTAMP가 TIMESTAMP 열에 사용되면 함수는 암시적인 값 없이 직접 값을 받아들입니다. "문자열을 유닉스 타임스탬프로" 변환합니다.
FROM_UNIXTIME(unix_timestamp)
함수가 다음 형식인지 여부에 따라 unix_timestamp 매개변수가 나타내는 값을 'YYYY-MM-DD HH:MM:SS' 또는 YYYYMMDDHHMMSS 형식으로 반환합니다. 문자열 또는 숫자 컨텍스트에서 사용됩니다.
[sql] view plaincopyprint?
mysql> select FROM_UNIXTIME(875996580)
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
FROM_UNIXTIME(unix_timestamp,format)
반환은 Unix 시간을 나타냅니다. 형식 문자열에 따라 형식이 지정된 태그 문자열입니다. 형식에는 DATE_FORMAT() 함수에 의해 나열된 항목과 동일한 수정자가 포함될 수 있습니다.
[sql] view plaincopyprint?
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:% s %x');
-> '1997 23rd Dec 03:43:30 x'
UNIX_TIMESTAMP 함수를 통해 MySQL 데이터베이스의 날짜 유형 데이터를 Unix 타임스탬프 형식으로 변환합니다. 정수:
[sql] view plaincopyprint?
select UNIX_TIMESTAMP('2006-02-28') testdate
[sql] view plaincopyprint?
얻은 타임스탬프를 PHP의 date() 및 기타 함수에서 직접 사용해야 하는 것은 당연한 일입니다. 그런데 이상한 점은 다음과 같습니다.
echo date("Y-m-d",$testdate);
표시된 날짜가 데이터베이스의 실제 날짜보다 하루 적다는 점은 수수께끼입니다. 풀다. UNIX_TIMESTAMP 함수에 대한 MySQL의 설명을 반복적으로 확인한 후 마침내 문제를 발견했습니다. "서버는 날짜를 현재 시간대의 값으로 해석하고 이를 UTC의 내부 값으로 변환합니다." 함수는 서버가 설정한 특정 시간대의 시간이 아닌 UTC 시간입니다. 이러한 변환 후 타임스탬프는 (우리의 경우) 8시간만큼 줄어들고 PHP의 타임스탬프는 시스템에 설정된 시간대의 현지 시간을 계산합니다. 따라서 2006-02-28 날짜에서 8시간을 빼면 자연스럽게 2006-02-27이 됩니다.
[sql] view plaincopyprint?
해결책: 이 8시간(UNIX_TIMESTAMP('2006-02-28' + INTERVAL 8 HOUR))을 다시 추가하거나 폐기하십시오. UNIX_TIMESTAMP 함수 MySQL 날짜 문자열을 직접 얻은 다음 strtotime() 함수를 사용하여 문자열을 실제 로컬 타임스탬프로 변환합니다.
다음 달 생일인 동물을 알아내는 것도 쉽습니다.
현재 달이 4월이라고 가정하면 월 값은 4입니다. 5월(May)에 태어난 동물을 다음과 같이 찾을 수 있습니다.
[sql] view plaincopyprint?
mysql> SELECT 이름, 출생 애완동물 WHERE MONTH(birth) = 5
..........
$conn= mysql_connect("localhost"," root","1234")or die("데이터베이스 연결 실패");
$conndb=mysql_select_db("test",$conn)or die("테이블 연결 실패 ");
$query="select * from ttable";
$result = mysql_query($query,$conn)
while($row = mysql_fetch_array( $result)){
$rows[]=$row;
}
$random =rand(0,count($rows) )
print_r($rows[$random]);