C语言中将日期和时间以字符串格式输出的方法
ctime()函数:头文件:
#include
定义函数:
char *ctime(const time_t *timep);
函数说明:ctime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为"Wed Jun 30 21 :49 :08 1993\n"。
注意:若再调用相关的时间日期函数,此字符串可能会被破坏。
返回值:返回一字符串表示目前当地的时间日期。
范例
#include
main(){
time_t timep;
time (&timep);
printf("%s", ctime(&timep));
}
执行
Sat Oct 28 10 : 12 : 05 2000
asctime()函数:
头文件:
#include
定义函数:
char *asctime(const struct tm * timeptr);
函数说明:asctime()将参数timeptr 所指的tm 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:"Wed Jun 30 21:49:08 1993\n"
返回值:若再调用相关的时间日期函数,此字符串可能会被破坏。此函数与ctime 不同处在于传入的参数是不同的结构。
附加说明:返回一字符串表示目前当地的时间日期.
范例
#include
main(){
time_t timep;
time (&timep);
printf("%s", asctime(gmtime(&timep)));
}
执行
Sat Oct 28 02:10:06 2000
时间: 2015-08-25
本文实例讲述了C语言计算日期差的方法.分享给大家供大家参考,具体如下: 历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦.幸好今天我们统一使用公元纪年法.当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的. 下面的程序计算了两个日期的差值,两个日期都使用公元纪年法. #include using namespace std; int to_day(int y, int m, int d) { int mon[]
复制代码 代码如下: //面积公式s = (a+b+c) / 2 area = sqrt(s * (s - a) * (s - b) * (s - c));//小作业 求三角形的面积 int check(double a);int check2(double a, double b, double c); #include #include int main(void){ double area = 0; double s;
1.普通的写法 复制代码 代码如下: #include int leapyear(int year){ if((year%4==0 && year%100!=0) || year%400==0) return 1; else return 0;}int days(int *day1, int *day2){ int i=0; int *tmp; int diff = 0; const int month[13]={0,31,28,31,30,31,30,
C语言time()函数:获取当前时间(以秒数表示) 头文件: #include 定义函数: time_t time(time_t *t); 函数说明:此函数会返回从公元 1970 年1 月1 日的UTC 时间从0 时0 分0 秒算起到现在所经过的秒数.如果t 并非空指针的话,此函数也会将返回值存到t 指针所指的内存. 返回值:成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno 中. 范例 #include main(){
浅谈时间戳与日期时间互转C语言 /* * ctime.h * * Created on: May 19, 2016 * */ #ifndef CTIME_H_ #define CTIME_H_ #include "common/micro_type.h" #define OFFSET_SECOND 946684800 /* ��1970/1/1/0/0/0��2000/1/1/0/0/0֮��������� */ //#define OFFSET_SECOND 0 /* ��2000/
计算原理是先求出每个日期距离1年1月1日的天数差值,再进一步做差即可. 复制代码 代码如下: #include struct MyDate{ int year; int month; int day;}; int GetAbsDays(MyDate x){ int i; int month_day[] = {31,28,31,30,31,30,31,31,30,31,30,31}; int year = x.year-1; // 因为欲求距离1年1月1日的距离 int da
复制代码 代码如下: #include #include #include #include int year, month, day;const int day_30 = 30;const int day_31 = 31;int day_month_2 = 0;char err_flag = 0;void compute(){ printf("输入年月日(1992-7-19
如下所示: #include using namespace std; class Date { public: Date(int year = 1900, int month = 1, int day = 1) //构造 :_year(year) , _month(month) , _day(day) { if (!isInvalidDate(_year, _month, _day)) { _year = 1900; _month = 1; _day = 1; } } D
C/C++程序中需要程序显示当前时间,可以使用标准函数strftime. 函数原型:size_t strftime (char* ptr, size_t maxsize, const char* format,const struct tm* timeptr ); 代码示例: #include #include int main () { time_t rawtime; struct tm * timeinfo; char buffer [12
因工作需要,经常跟时间戳打交道,但是因为它仅仅是一个数字,我们很难直接看出它有什么意义,或两个时间戳之间究竟差了多长的间隔.于是从MSDN for Visual Studio6上找到了时间戳转换成日期时间的算法.本文除介绍这一算法外,还提供一个示例代码. 1.将时间戳转换成一串32比特的二进制数.有些数字转换之后不够32位,则在前面补充0.这可通过windows自带的计算器完成.比如481522543转换成 0001 1100 1011 0011 0111 0011 0110 1111 2.根据
1.算法 时间是有周期规律的,4年一个周期(平年.平年.平年.闰年)共计1461天.Windows上C库函数time(NULL)返回的是从1970年1月1日以来的毫秒数,我们最后算出来的年数一定要加上这个基数1970.总的天数除以1461就可以知道经历了多少个周期:总的天数对1461取余数就可以知道剩余的不足一个周期的天数,对这个余数进行判断也就可以得到月份和日了. 当然了,C语言库函数:localtime就可以获得一个时间戳对应的具体日期了,这里 主要说的是实现的一种算法. 2.C语言代码实现
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec
javascript时间戳和日期字符串相互转换代码(超简单)