您的位置:

Java打印当前时间到毫秒

一、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++提供了&ltsystem_clock>和&ltduration>两个类,可以获取当前时间并转化为毫秒,代码风格也比较简洁易懂。

三、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,其中&ltil>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还提供了日期时间格式化类&ltil>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中&ltil>java.time.ZoneId>/ltil>和&ltil>java.time.ZoneOffset>/ltil>类可以方便地设置时区,将时间转化为指定时区下的时间。对于需要将时间转化为多个时区的场景非常有用。

六、总结

Java提供了丰富的时间日期API,可以轻松地获取和处理时间。在实际开发中,我们要根据具体场景选择最适合的API,从而提高代码的可读性和执行效率。