1. 程式人生 > >時間與String互相轉化

時間與String互相轉化

我在做redis定時任務的時候需要檢測部分資料的過期時間,為了方便管理,獲取到的時間需要轉換成我們平常看到的字串格式,在網上看了一些朋友的實現方式結合自身的使用進行了一些修改。

#include <time.h>
#include <string>

//轉換成 "2017-07-20 17:44:06"
int Time_tToString(std::string &strDateStr, const time_t &timeDate)
{
	char temp[100];
	memset(temp, 0, sizeof(temp));
	struct tm *p;
	p = localtime(&timeDate);
	
	p->tm_year = p->tm_year + 1900;
	p->tm_mon = p->tm_mon + 1;
	
	_snprintf(temp, sizeof(temp), "%04d-%02d-%02d %02d:%02d:%-2d", p->tm_year, p->tm_mon, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec);
	strDateStr = temp;
	
	return 0;
}

int StringToTime_t(cosnt std::string &strDateStr, time_t &time)
{
	char *pBeginPos = (char *)strDateeStr.c_str();
	char *pPos = strstr(pBeginPos,"-");
	if(pPos == NULL)
		return -1;
	
	int iYear = atoi(pBeginPos);
	int iMonth = atoi(pPos + 1);
	pPos = strstr(pPos + 1, "-");
	if(pPos == NULL)
		return -1;
	
	int iDay = atoi(pPos + 1);
	int iHour = 0;
	int iMin = 0;
	int iSec = 0;
	pPos = strstr(pPos + 1, " ");
	if(pPos != NULL)
	{
		iHour = atoi(pPos + 1);
		pPos = strstr(pPos + 1, ":");
		if(pPos != NULL)
		{
			iMin = atoi(pPos + 1);
			pPos = strstr(pPos + 1, ":");
			if(pPos != NULL)
			{
				iSec = atoi(pPos + 1);
			}
		}
	}
	
	struct tm sourcedate;
	memset((void*)&sourcedate, 0, sizeof(sourcedate));
	sourcedate.tm_sec = iSec;
	sourcedate.tm_min = iMin;
	sourcedate.tm_hour = iHour;
	sourcedate.tm_mday = iDay;
	sourcedate.tm_mon = iMonth -1;
	sourcedate.tm_year = iYear - 1900;
	time = mktime(&sourcedate);
	return 0;
}

int main()

{
	string timeStr;
	time_t time, oldTime, nowTime;
	time(&time);
	Time_tToString(timeStr, time);
	Sleep(3000);
	StringToTime_t(timeStr, oldTime);
	if (diff(nowTime, oldTime) > 2)
		cout << "~~~~" << endl;
	getchar();
	
	return 0;
}

相關推薦

時間String互相轉化

我在做redis定時任務的時候需要檢測部分資料的過期時間,為了方便管理,獲取到的時間需要轉換成我們平常看到的字串格式,在網上看了一些朋友的實現方式結合自身的使用進行了一些修改。 #include <time.h> #include <string>

js時間毫秒互相轉換

art rep ons 格式 date lac 得到 需要 gettime 1)日期轉換為毫秒 如果格式是:yyyy/mm/dd hh:mm:ss可以直接轉換。var oldTime = (new Date("2018/07/09 14:13:11")).getTime(

java 二進位制負數互相轉化

負數表示 首先我們要對原碼、反碼和補碼有個瞭解: 1、所謂原碼就是二進位制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其餘位表示數值的大小。 2、反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。 原碼10010= 反碼11101 (100

intString互相轉換

一、String轉為int int i=Integer.parseInt(string); int i=Integer.valueOf(s).intValue(); 二、int轉為String String s = String.valueOf(i);

PDFIMAGE互相轉化

所需jar包 1、http://download.csdn.net/detail/flykos/9858599 2、http://download.csdn.net/detail/flykos/9858294 java實現PDF與IMAGE互相轉化程式碼 package

jsonstring相互轉化

1. 在js和小程式中都將json格式轉化為物件: var string = '{"name":"frank", "age":29, "birthday":"1978-1-1"}';var obj=

char[]string相互轉化

1、char[] 轉化 string char buffer[20]="hello!"; string str(buffer); cout<<str; 2、 string 轉化char[] string str="hello!"; char buffer[20]

BSTRstring相互轉化

BSTR實際上就是一個COM字串,標準BSTR是一個有長度字首和null結束符的OLECHAR陣列。BSTR的前4位元組是一個表示字串長度的字首。BSTR長度域的值是字串的位元組數,並且不包括0結束符 #include <comutil.h> #include 

Groovy map和String 互相轉化

m = [a: 123, b: 'test'] print "原來的: $m" s = m.Inspect() print "轉成str: $s" m2 = Eval.me(s) print " 再

CStringstring相互轉化

string轉CString std::string s="lskdjflkdjf"; CString str=s.c_str(); CString轉string USES_CONVERSION; CString temp; temp=_T("kjdsaflkjdlfkj");  char* s_

【Java】JAXB 處理 複雜XML JavaBean 互相轉化過程

先看看xml樣式: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <EPCISQueryDocumentType xmlns:ns2="http://www.unece.org/cefac

UTC時間戳-時間字串之間互相轉化

1,標準時間準換成時間戳int standard_to_stamp(char *str_time)  {          struct tm stm;          int iY, iM, iD, iH, iMin, iS;          memset(&s

java,Date,DateTime,String互相轉化

try { Date from = sdf.parse("2016-11-07 00:00:00"); Date to = sdf.p

Swift CGFloat和String互相轉化

Swift 3.0版本適用 1.CGFloat 轉化成String dateCell.detailDateLabel.text = String.init(format:"%.2f", orde

python筆記——jsonstring相互轉化

我在從web獲取到json資料時,需要儲存在本地文字檔案中,這就需要json轉換為string,使用快取資料時,又需要string轉json。 注意,如果要存入文字文件,一定先將dict轉為string,string裡面key要使用雙引號,要不然存在文字文件裡

Python的time(時間時間字串互相轉化

strptime("string format")字串如“20130512000000”格式的 輸入處理函式  localtime(float a)時間戳的輸入處理函式 二者返回struct_time結構資料, 由strftime(format, float/time_st

StringArrayList的互相轉化

ArrayList<Map<String,Objiect>>轉為String只需要呼叫toString()即可 String轉為ArrayList<Map<String,Objiect>>需要簡單的模擬一下 public s

Python中時間時間字串互相轉化

#設a為字串 import time a = "2011-09-28 10:00:00" #中間過程,一般都需要將字串轉化為時間陣列 time.strptime(a,'%Y-%m-%d %H:%M:%S') >>time.struct_time(tm_year

格林威治時間格式(GMT)普通時間格式的互相轉換

技術分享 cond body 分享圖片 col inf new 時間 minute GMT --> 普通時間格式: 方法: function GMTToStr(time){ var date = new Date(time) var Str=date

C# 獲取utc時間,以及utc datetime 互相轉化

alt tint time() 方法 轉化 return 知識 time second 原文:C# 獲取utc時間,以及utc datetime 互相轉化 大部分源於http://blog.sina.com.cn/s/blog_4c6e822d0102dsd