랜덤 설정에서 7로 안나오고 07로 나오게 하는 방법
본문
$time_change = rand(substr(G5_TIME_YMDHIS, 14, 2),59);
$time_change = substr_replace(G5_TIME_YMDHIS, $time_change, 14, 2);
echo ' time_change <br>'.$time_change.'<br><br>';
위 처럼 시간에서 분에 해당하는 부분만 랜덤으로 나오게 했습니다.
문제는 01분을 경우
01~59 사이에 랜덤 숫자가 나오는데
7의 경우 07로 나오지 않으니
2021-12-23 02:07:52 -> 원하는 표현식
2021-12-23 02:7:52 -> 잘못 나오는 표현식
위와 같이 되는 문제가 있는데 숫자를 항상 2자리로 표현하는 방법이 있을까요?
답변 3
$time_change = rand(substr(G5_TIME_YMDHIS, 14, 2),59);
$time_change = substr_replace(G5_TIME_YMDHIS, $time_change, 14, 2);
$time_change = str_pad($time_change, 2, '0', STR_PAD_LEFT);
echo ' time_change <br>'.$time_change.'<br><br>';
$time_change = sprintf("%02d", rand(substr(G5_TIME_YMDHIS, 14, 2),59));
답변이 있으니 참고로 다른 내용 추가합니다. 이해 후 응용&활용하기 나름….
sscanf($write_time, '%04d-%02d-%02d %02d:%02d:%02d', $y, $m, $d, $h, $i, $s);
$write_time = sprintf('%04d-%02d-%02d %02d:%02d:%02d', $y, $m, $d, $h, mt_rand(0, 59), $s);
+ sscanf()
- https://www.php.net/manual/en/function.sscanf.php
+ sprintf()
!-->