一、c語言列印當前時間毫秒級函數
#include <stdio.h> #include <sys/time.h> int main() { struct timeval tv; gettimeofday(&tv,NULL); printf("Current time in milliseconds: %ld\n",(tv.tv_sec*1000) + (tv.tv_usec/1000)); return 0; }
c語言提供了gettimeofday()函數,可以獲取當前時間,精確到微秒級別。獲取到時間後可以進行簡單運算將其轉化為毫秒,非常方便。
二、c++列印當前時間毫秒
#include <iostream> #include <chrono> using namespace std::chrono; int main() { long long milliseconds_since_epoch = duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count(); std::cout << "Current time in milliseconds: " << milliseconds_since_epoch << std::endl; return 0; }
c++提供了<system_clock>和<duration>兩個類,可以獲取當前時間並轉化為毫秒,代碼風格也比較簡潔易懂。
三、Java列印當前時間到毫秒
import java.time.Instant; public class Main { public static void main(String[] args) { long milliseconds_since_epoch = Instant.now().toEpochMilli(); System.out.println("Current time in milliseconds: " + milliseconds_since_epoch); } }
Java 8提供了新的時間日期API,其中<il>java.time.Instant>/ltil>類可以獲取當前時間,並使用toEpochMilli()方法將其轉化為毫秒,非常簡單。
四、列印日期時間格式化字元串
import java.time.Instant; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { Instant instant = Instant.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); String datetime = formatter.format(LocalDateTime.ofInstant(instant, ZoneOffset.UTC)); System.out.println(datetime); } }
Java 8還提供了日期時間格式化類<il>java.time.format.DateTimeFormatter>/ltil>,可以將時間按照指定的格式輸出,非常方便,可以用來生成日誌等需要時間標記的場景。
五、時區設置
import java.time.Instant; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { Instant instant = Instant.now(); ZoneId zone = ZoneId.of("Asia/Shanghai"); ZoneOffset offset = zone.getRules().getOffset(instant); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); String datetime = formatter.format(LocalDateTime.ofInstant(instant, zone)); System.out.println(datetime); } }
Java 8中<il>java.time.ZoneId>/ltil>和<il>java.time.ZoneOffset>/ltil>類可以方便地設置時區,將時間轉化為指定時區下的時間。對於需要將時間轉化為多個時區的場景非常有用。
六、總結
Java提供了豐富的時間日期API,可以輕鬆地獲取和處理時間。在實際開發中,我們要根據具體場景選擇最適合的API,從而提高代碼的可讀性和執行效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194093.html