Вы можете использовать их совместно
Пример:
public class A implements Runnable{
@Override
public void run() {
while(true){
System.out.println("Class A is running");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
}
public class Test {
public static void main(String[] args) {
Thread myThread =new Thread(new A());// 1
myThread.start();
System.out.println(" executed after thread A");//will never be reached
}
}
sprintf ()
возвращает строку, printf ()
отображает его.
Следующие два элемента совпадают:
printf(currentDateTime());
print sprintf(currentDateTime());
sprintf ()
выводит результат в строку. printf ()
выводит его на стандартный вывод, например:
printf(currentDateTime());
эквивалентно:
echo sprintf(currentDateTime());
sprintf () возвращает строку, а printf () выводит строку. Поэтому вам нужно будет сделать что-то вроде следующего:
function currentDateTime() {
list($micro, $Unixtime) = explode(" ",microtime());
$sec= $micro + date("s", $Unixtime);
$sec = mb_ereg_replace(sprintf('%d', $sec), "", ($micro + date("s", $Unixtime)));
return date("Y-m-d H:i:s", $Unixtime).$sec;
}
$output = sprintf(currentDateTime());
printf($output);