实现读取北京时间的C语言程序,C语言北京时间转为格林威治时间
北京时间比格林威治早8个小时,思路是先将北京时间转换为距1970年1月1日0点的秒数,然后在转换成服务器本地时区的格林威治时间。
例子程序 gmttime.c:
#include
#include
#include
#include
int main(void)
{
printf("--------------\n");
char ori_time[14+1];
char tmp_year[4+1];
char tmp_month[2+1];
char tmp_day[2+1];
char tmp_hour[2+1];
char tmp_min[2+1];
char tmp_sec[2+1];
char sCurrentTime[15];
struct tm tmCurrentTime, *gmCurrentTime;
time_t gmt;
memset(ori_time, 0x00, sizeof(ori_time));
memset(tmp_year, 0x00, sizeof(tmp_year));
memset(tmp_month, 0x00, sizeof(tmp_month));
memset(tmp_day, 0x00, sizeof(tmp_day));
memset(tmp_hour, 0x00, sizeof(tmp_hour));
memset(tmp_min, 0x00, sizeof(tmp_min));
memset(tmp_sec, 0x00, sizeof(tmp_sec));
memset(sCurrentTime, 0x00, sizeof(sCurrentTime));
memcpy(ori_time, "20170225132901", 14);
printf("ori_time: %s\n", ori_time);
//取年
memcpy(tmp_year, ori_time, 4);
printf("year: %s\n", tmp_year);
tmCurrentTime.tm_year = atoi(tmp_year);
tmCurrentTime.tm_year = tmCurrentTime.tm_year - 1900;
//取月
memcpy(tmp_month, ori_time+4, 2);
printf("month: %s\n", tmp_month);
tmCurrentTime.tm_mon = atoi(tmp_month);
tmCurrentTime.tm_mon = tmCurrentTime.tm_mon - 1;
//取日
memcpy(tmp_day, ori_time+6, 2);
printf("day: %s\n", tmp_day);
tmCurrentTime.tm_mday = atoi(tmp_day);
//取时
memcpy(tmp_hour, ori_time+8, 2);
printf("hour: %s\n", tmp_hour);
tmCurrentTime.tm_hour = atoi(tmp_hour);
//取分
memcpy(tmp_min, ori_time+10, 2);
printf("min: %s\n", tmp_min);
tmCurrentTime.tm_min = atoi(tmp_min);
//取秒
memcpy(tmp_sec, ori_time+12, 2);
printf("sec: %s\n", tmp_sec);
tmCurrentTime.tm_sec = atoi(tmp_sec);
//转换为秒
gmt = mktime(&tmCurrentTime); //time_t 转换为 tm
//转换为格林威治时间
gmCurrentTime = gmtime(&gmt); //tm 转换为 time_t
sprintf(sCurrentTime, "%4d%02d%02d%02d%02d%02d",
gmCurrentTime->tm_year + 1900, gmCurrentTime->tm_mon + 1,
gmCurrentTime->tm_mday, gmCurrentTime->tm_hour,
gmCurrentTime->tm_min, gmCurrentTime->tm_sec);
printf("gmt_time: %s\n", sCurrentTime);
printf("--------------\n");
return 0;
}
其中mktime将时间转换为秒数,gmtime将秒数转换为服务器本地时区对应的格林威治时间。
实现读取北京时间的C语言程序,C语言北京时间转为格林威治时间相关推荐
- 记得每天锻炼身体c语言程序,c语言程序
一实验名称计算出1000以内10个最大素数之和二.实验目的1.熟练掌握if.if-else.if-else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和s ...
- 加 解密的c语言程序,c语言程序设计文个件加密解密.doc
c语言程序设计文个件加密解密 程序报告设计 题目:加密解密处理 程序设计报告的电子文档(程序设计.doc ) 老师对作业要求. 1:对学生课程设计两周的纪律及提交内容的要求: (1)规定上机的时间内不 ...
- 文件的记录c语言程序,c语言程序学生籍贯信息记录簿设计.docx
c 语言程序学生籍贯信息记录簿设计 学生籍贯信息记录簿 课程设计报告书 班 级: 方 0909-1 学 号:姓 名: 苑 小 叶 指导教师 : 康 亚 男 石家庄铁道大学四方学院 2010年 07月 ...
- 我的世界c语言程序,C语言基本知识
软件是将一组程序组织起来 每个程序由一组指令组成 数据结构+算法 数据结构 在程序中要指定数据的类型和数据的组织形式. 算法(程序的灵魂) 就是为了解决实际问题而提出的具体方法与步骤. 算法的特点 有 ...
- 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!
在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...
- 蜂鸣器发出7种音阶c语言程序_C语言编程新思路
第一章 单元测试 1.单选题: 关于一个C语言程序执行的起点和终点,以下选项正确的是 ( ). 选项: A: main 任意 B: main 最后一个 C: main main D: 第一个 最后一个 ...
- 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc
c语言程序设计实验学生用 C语言程序设计 实验指导 (学生用) 计算机基础教研室 <C语言程序设计>课程组 2012年9月 前 言 <C语言程序设计>是计算机科学技术系面向全校 ...
- 插入法排序c语言程序,C语言之插入排序算法
一.什么是直接插入算法? 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列. 选择 ...
- 青花瓷音乐的单片机c语言程序,c语言曲谱_单片机c语言音乐简谱代码
51单片机曲谱编写音乐程序,我看不懂曲谱,谁能教下我! //<世上只有妈妈好>51单片机C语言程序和音乐采灯程序 //此程序在硬件上调试通过 //本程序的单片机晶振采用11.0592MHZ ...
- 框图c语言程序,C语言程序设计框图
<C语言程序设计框图>由会员分享,可在线阅读,更多相关<C语言程序设计框图(86页珍藏版)>请在人人文库网上搜索. 1.第三章控制结构,返回总目录,目录,3.1节目结构框,3. ...
最新文章
- 200 个工具分析机器学习十年:开源是大势,工程师是核心
- 树莓派3 64linux,树莓派3 model b安装64位debian+qt5.9
- python读取中文-python读取中文txt文本
- Node.js aitaotu图片批量下载Node.js爬虫1.00版
- android源代码
- PDG转PDF的方法
- 我的第一款 Drone 插件
- 使用Git子模块和开发模式管理Python项目
- underscorejs-min学习
- 在Windows上使用MSVC编译QuaZip
- 【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据
- MQTT、CoAP 还是 LwM2M?主流物联网协议如何选择
- 线性代数---二阶行列式
- 2021-05-23
- mysql局域网访问6_mysql局域网访问
- 阿里云建站百度收录吗?
- Linux之禅道安装
- python中模拟浏览器抓取网页(-)
- 中文拼写纠错_中英文拼写纠错开源框架梳理
- 回归算法-线性回归分析-过拟合欠拟合岭回归
热门文章
- Torch安装及使用
- TorchScript简介
- c语言编程正六边形思路,机械cad-cam技术实验指导书2015.doc
- 科技开发规划VBS屌丝暗色调
- BioBERT: a pre-trained biomedical language representation model for biomedical text mining
- PyTorch深度学习快速入门教程(绝对通俗易懂!!!)
- 几行烂代码,我赔了16万。
- zblog采集全套zblog采集方法
- 将apk和所需库文件编译打包到system/priv-app路径下
- 将本地代码push到github上