一、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-hk/n/194093.html
微信掃一掃
支付寶掃一掃