UTC时间与Beijing时间转换工具

近来有很多童鞋渴望来一场激烈的CF(是Codeforces不是Cross Fire)来提升自己的实力,但是大家都知道,codeforces上公布的比赛时间都是UTC时间(协调世界时),可是没有关系,我们可以写一个小工具来方便完成时间转化。

Codeforces官网:http://codeforces.com/

 

 只要知道UTC time与Beijing time的转换关系,我们轻松完成这一转换任务(UTC time + 8 hours = Beijing time)

通过我们的转换小工具

 

Code 

//UTC-time + 8 hours = Beijing-time
#include <iostream>
#include <cstdio>

using namespace std;

int year, month, day, hour, minute;

int mon[] = {0, 31, 28, 31, 30, 31, 30, 31, 30, 30, 31, 30, 31};

bool LeapYear(int y)
{
	if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) return true;
	else return false;
}

void solve()
{
	if (LeapYear(month)) mon[2] = 29;
	else mon[2] = 28;

	if (hour == 24 && minute != 0)
	{
		day += 1;
		hour = 0;
	}
	else if (hour > 24)
	{
		day += 1;
		hour -= 24;
	}

	if (day > mon[month])
	{
		day -= mon[month];
		month += 1;
	}

	if (month > 12)
	{
		year += 1;
		month -= 12;
	}

}

int main()
{
	printf(" ---------------------------------------\n");
	printf("|请输入您从Codeforces上获取的UTC比赛时间|\n");
	printf("|     输入格式严格按照如下格式输入      |\n");
	printf("|        月/日/年(12/09/2018)           |\n");
	printf("|          小时/分钟(16:05)             |\n");
	printf(" ---------------------------------------\n");
	printf(">> ");
	scanf("%d/%d/%d", &month, &day, &year);
	printf(">> ");
	scanf("%d:%d", &hour, &minute);
	//printf("UTC-time:%d/%d/%d %02d:%02d\n", month, day, year, hour, minute);

	hour += 8;

	solve();

	printf("<< Beijing Time:%d/%d/%d %02d:%02d\n", month, day, year, hour, minute);

	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

水能zai舟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值