C语言实现字符转unix时间戳的简单实例

C语言实现字符转unix时间戳,需要先转成tm类型,再得到它的Unix时间戳。附上实现代码:

#include <stdio.h>
#include <time.h>
int strtotime(char datetime[])
{
struct tm tm_time;
int unixtime;
strptime(datetime, "%Y-%m-%d %H:%M:%S", &tm_time);

unixtime = mktime(&tm_time);
return unixtime;
}

另附上几个时间相关的函数,做个笔记:

//当前时间

char* get_curr_time()
{
char* strtime = (char *)malloc(sizeof(char)*20);
memset(strtime, 0, sizeof(char)*20);
time_t now;
time(&now);
strftime(strtime, 20, "%Y-%m-%d %H:%M:%S", gmtime(&now));
printf("Info: current time %s\n", strtime);
return strtime;
}

//当前时间的unix时间戳

int get_curr_unixtime(void)
{
time_t now;
int unixtime = time(&now);
return unixtime;
}

//字符转unix时间戳

int strtotime(char datetime[])
{
struct tm tm_time;
int unixtime;
strptime(datetime, “%Y-%m-%d %H:%M:%S”, &tm_time);

unixtime = mktime(&tm_time);
return unixtime;
}

以上这篇C语言实现字符转unix时间戳的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C++时间戳转换成日期时间的步骤和示例代码

    因工作需要,经常跟时间戳打交道,但是因为它仅仅是一个数字,我们很难直接看出它有什么意义,或两个时间戳之间究竟差了多长的间隔.于是从MSDN for Visual Studio6上找到了时间戳转换成日期时间的算法.本文除介绍这一算法外,还提供一个示例代码. 1.将时间戳转换成一串32比特的二进制数.有些数字转换之后不够32位,则在前面补充0.这可通过windows自带的计算器完成.比如481522543转换成 0001 1100 1011 0011 0111 0011 0110 1111 2.根据

  • 浅谈时间戳与日期时间互转C语言

    浅谈时间戳与日期时间互转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/

  • 在C语言中转换时间的基本方法介绍

    C语言mktime()函数:将时间转换成经过的秒数 头文件: #include <time.h> 定义函数: time_t mktime(strcut tm * timeptr); 函数说明:mktime()用来将参数timeptr 所指的tm 结构数据转换成从公元1970 年1 月1 日0 时0 分0 秒算起至今的UTC 时间所经过的秒数. 返回值:返回经过的秒数. 范例:用time()取得时间 (秒数), 利用localtime() 转换成struct tm 再利用mktine()将str

  • c++与c#的时间转换示例分享

    1.C++中的时间:(1) time_t其实是一个64位的long int类型(2) time函数:函数简介:函数名:  time 头文件:  time.h 函数原型:time_t time(time_t *timer) 功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数,然后调用localtime将ti

  • C++时间戳转化操作实例分析【涉及GMT与CST时区转化】

    本文实例讲述了C++时间戳转化操作.分享给大家供大家参考,具体如下: 问题由来 时间戳转换(时间戳:自 1970 年1月1日(00:00:00 )至当前时间的总秒数.) #include <stdio.h> #include <time.h> int main(int argc, const char * argv[]) { time_t t; struct tm *p; t=1408413451; p=gmtime(&t); char s[80]; strftime(s,

  • C语言中时间戳转换成时间字符串的方法

    在PE格式里有个字段是文件的创建时间戳,我想把转成字符串,这样看的更直观. TCHAR buffer[50] = {0}; struct tm Tm = {0}; time_t time = (time_t)NtHeader->FileHeader.TimeDateStamp;//时间戳 gmtime_s(&Tm, &time); printf(buffer, TEXT("%d年%d月%d日 %d:%d:%d"), Tm.tm_year+1900, Tm.tm_m

  • C语言实现时间戳转日期的算法(推荐)

    1.算法 时间是有周期规律的,4年一个周期(平年.平年.平年.闰年)共计1461天.Windows上C库函数time(NULL)返回的是从1970年1月1日以来的毫秒数,我们最后算出来的年数一定要加上这个基数1970.总的天数除以1461就可以知道经历了多少个周期:总的天数对1461取余数就可以知道剩余的不足一个周期的天数,对这个余数进行判断也就可以得到月份和日了. 当然了,C语言库函数:localtime就可以获得一个时间戳对应的具体日期了,这里 主要说的是实现的一种算法. 2.C语言代码实现

  • C语言实现字符转unix时间戳的简单实例

    C语言实现字符转unix时间戳,需要先转成tm类型,再得到它的Unix时间戳.附上实现代码: #include <stdio.h> #include <time.h> int strtotime(char datetime[]) { struct tm tm_time; int unixtime; strptime(datetime, "%Y-%m-%d %H:%M:%S", &tm_time); unixtime = mktime(&tm_ti

  • JS操作时间 - UNIX时间戳的简单介绍(必看篇)

    准备知识 GMT(Greenwich Mean Time) - 格林尼治时间.UTC(Universal Time Code) - 国际协调时间.PST(Pacific Standard Time,太平洋标准时间). UTC出现的比GMT时间晚,可以认为UTC时间更加精确,不过它们之间只相差几秒钟. UTC开始时间为:1970-01-01T00:00:00.000Z(这种时间设置可以一直精确到毫秒,字母T和Z仅仅是一种格式) UNIX时间戳指的是从1970-01-01T00:00:00.000Z

  • js获取指定字符前/后的字符串简单实例

    如下所示: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <script type="text/javascript"> /* string 字符串; str 指定字符; split(),用于把一个字符串分割成字符串数组; split(str)[0],读取

  • js判断某个字符出现的次数的简单实例

    js判断某个字符出现的次数的简单实例 function patch(re,s){ //参数1正则式,参数2字符串 re=eval_r("/"+re+"/ig"); //不区分大小写,如须则去掉i,改为 re=eval_r("/"+re+"/g") var len = s.match(re).length; return len; } var str="Hello World"; alert("nu

  • C语言实现去除字符串中空格的简单实例

    在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它本着高效率,不使用额外存储空间的想法实现该功能去除空格一共有三种: 1.去除全部空格: 2.一种是去除左边空格: 3.去除右边空格  想去除左右两边空格,只要先去除左边再去除右边的就行了 以下是实现代码: /*去除字符串中所有空格*/ voidVS_StrTrim(char*pStr) { char *pTmp = pStr; while (*pStr != '/0') { if (*pStr != ' ') { *pTmp++ =

  • C语言 字符串首字母转换成大写简单实例

    C语言 字符串首字母转换成大写简单实例 举例: 输入:this is a book 返回:This Is A Book #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char input[]="this is a book"; char output[256]={'\0'}; int i,len; len=strlen(input); printf("

  • C语言如何实现Unix时间戳与本地时间转化

    前言 我们平常说时间都说的几点几分几秒,星期几,但是在计算机里面并不是直接使用我们所说的时间,而是使用Unix时间戳,这样不管是哪个平台,哪个系统,都可以根据自己对时间的定义进行转换,像Java,PHP等都提供了接口来进行转化,C库里面也有这样的函数,那具体是怎么实现的呢?要了解这个问题首先我们就必须要清楚什么是Unix时间戳,什么是我们平常使用的时间. 1. Unix时间戳 UNIX时间戳:Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix

  • PHP中UNIX时间戳和日期间的转换与计算实例

    UNIX时间戳是保存日期和时间的一种紧凑简洁的方法,是大多数UNIX系统中保存当前日期和时间的一种方法,也是在大多数计算机语言中表示日期和时间的一种标准格式.以32位整数表示格林威治标准时间,例如,使用证书11230499325表示当前时间的时间戳.UNIX时间戳是从1970年1月1日零点(UTC/GMT的午夜)开始起到当前时间所经过的秒数.1970年1月1日零点作为所有日期计算的基础,这个日期通常成为UNIX纪元. 因为UNIX时间戳是一个32位的数字格式,所以特别适用于计算机处理,例如计算两

  • 讲Perl中的本地时间与UNIX时间戳间相互转换的方法

    当你的Perl脚本需要解决时间信息,这里有两种方法来表示和处理日期和时间.一种方法是易读的时间表示(例,"Sat Mar 14 10:14:05 EDT 2015"),另外一种是使用UNIX时间戳(也叫"新纪元时间"),这是从1970年1月1日到今所经过的时间秒数.每一种方法都有它自己的优劣势,取决于你的需要,也许也就需要转换一种格式到另一种. Perl中转换本地时间到UNIX时间戳 为了从日期字符串中获得UNIX时间,可以使用Date::Parse模块中str2t

  • php UNIX时间戳用法详解

    本文实例讲述了php UNIX时间戳用法.分享给大家供大家参考,具体如下: 时间戳是文件属性中的创建.修改.和访问时间.数字时间戳服务是Web网站安全服务项目之一,能提供电子文件的日期和时间信息的安全保护. 时间戳的优点是: 可用变化的加密数值,防止数值被窃取后非法重复利用,起到加密的作用.时间戳主要依赖于时间,在约定的一段时间内产生唯一的一个数值. UNIX时间戳 在UNIX系统中,日期与时间表示为自1970年1月1日零点起到当前时刻的秒数,这种时间被称为UNIX时间戳,以32位二进制数表示.

随机推荐