一、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/n/194093.html
微信扫一扫
支付宝扫一扫