获得当前的时间

本文介绍了如何使用Java和C语言分别实现显示当前的北京时间,并对比了两种语言的关键语句和实现方式。在Java中,通过`System.currentTimeMillis()`获取毫秒数,然后转换为小时、分钟和秒;在C语言中,利用`time(0)`获取秒数,同样进行转换。此外,还解释了GMT(格林尼治标准时间)的概念及其与北京时间的关系,并展示了C语言如何实现动态更新秒数的代码示例。
摘要由CSDN通过智能技术生成

使用Java语言来现实

关键语句:System.currentTimeMillis(); 获得从1970年1月1日凌晨零点以来总共过了多少毫秒,请看以下代码及详细注释:

//显示当前的时间
public class ShowCurrentTime {
	public static void main(String args[]){
		//obtain the total milliseconds since midnight, Jan 1, 1970
		//获得从1970年1月1日凌晨零点以来总共过了多少毫秒
		long totalMilliseconds = System.currentTimeMillis();

		//obtain the total seconds since midnight, Jan 1, 1970
		//获得从1970年1月1日以来总共过了多少秒
		long totalSeconds = totalMilliseconds / 1000;

		//Compute the current second in the minute in the hour
		//计算当前小时和分钟下的秒数
		long currentSecond = totalSeconds % 60;  //总秒数除以60取余数

		//obtain the total minutes
		//获得总分钟数
		long totalMinutes = totalSeconds / 60;   //总秒数除以60取整得到总分钟数

		//Compute the current minute in the hour
		//计算当前小时下的分钟数
		long currentMinute = totalMinutes % 60;  //总分钟数除以60取余数得到当前小时下的分钟

		//obtain the total hours
		//获得总小时数
		long totalHours = totalMinutes / 60;   //总小时数除以60取整得到总小时数

		//Compute the current hour
		//计算当前小时
		long currentHour = totalHours % 24 + 8;  //总小时数除以24取余数,加8得到北京时间

		//Display results
		System.out.println("Current time:"+ currentHour +":"+ currentMinute +":"+ currentSecond);
	}
}

在这里插入图片描述

使用C语言来实现

关键语句time(0) 获得从1970年1月1日凌晨零点以来总共过了多少秒,请看以下代码及详细注释:

#include <stdio.h>
#include <time.h>
int main()
{
	long seconds = time(0);//获得从1970年1月1日以来总共过了多少秒 
	long currentSec = seconds % 60;//获得当前小时分钟下的秒数
	long minutes = seconds / 60;//获得总分钟数
	long currentMin = minutes % 60;//获得当前小时下的分钟
	long hours = minutes / 60;//总小时数
	long currentHour = hours % 24 + 8;//当前北京时间小时
	printf("现在是北京时间:%ld:%ld:%ld",currentHour,currentMin,currentSec); 
	return 0;
}

在这里插入图片描述

扩展资料GMT

GMT:Greenwich Mean Time,格林尼治时间,又名世界时。起始点为1970年1月1日凌晨0点。格林尼治时间加8小时可以获得北京时间。不同的时区要在格林尼治时间的基础上做一些相应的处理

C语言实现显示实时秒数

上面的那个代码只是打印一次,显示的秒数是运行时的秒数,那么如何实现动态打印,不断更新后面的秒数呢?请看如下代码:

#include <stdio.h>
#include <stdlib.h>   //system("cls");   清屏函数包含在该头文件中
#include <time.h>
int main()
{
	while(1)   //while(1)判断条件永远为真,一直进行打印
	{
		long seconds = time(0);//获得从1970年1月1日以来总共过了多少秒 
	long currentSec = seconds % 60;//获得当前小时分钟下的秒数
	long minutes = seconds / 60;//获得总分钟数
	long currentMin = minutes % 60;//获得当前小时下的分钟
	long hours = minutes / 60;//总小时数
	long currentHour = hours % 24 + 8;//当前北京时间小时
	printf("现在是北京时间:%ld:%ld:%ld",currentHour,currentMin,currentSec); 
	system("cls");  //每次打印都将上一次打印的结果清理掉,重新打印当前的秒数
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jackey_Song_Odd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值