我需要使用C获取当前日期和时间。但是,我需要它是十六进制格式。他们的函数是以十六进制格式返回时间戳还是必须获取日期和时间并将其转换为HEX?如果是这样,有没有人有一个在C中的转换的例子?如何在C中以十六进制格式获取日期和时间
0
A
回答
2
您可以通过localtime()
获得指向tm
结构的指针,并从字段中获取所需的值。然后你可以使用sprintf()
建立一个时间字符串:
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t raw_time = time(NULL);
struct tm *curr = localtime(&raw_time);
int year = curr->tm_year + 1900;
int month = curr->tm_mon + 1;
int day = curr->tm_mday;
int hour = curr->tm_hour;
int min = curr->tm_min;
int sec = curr->tm_sec;
char time_str[40];
sprintf(time_str, "%#x/%#x/%#x %#x:%#x:%#x",
year, month, day, hour, min, sec);
puts("Hex timestamp:");
puts(time_str);
sprintf(time_str, "%d/%d/%d %d:%d:%d",
year, month, day, hour, min, sec);
putchar('\n');
puts("Decimal timestamp:");
puts(time_str);
return 0;
}
输出示例:
Hex timestamp:
0x7e1/0x3/0x1f 0x14:0x2d:0x28
Decimal timestamp:
2017/3/31 20:45:40
+0
完美!正是我需要的。好工作。 – Eddie
+1
哦,那很好。那么在去下一个伟大的时尚 - ***六角时钟的路上!***我喜欢这个解决方案。 –
相关问题
- 1. 日期时间十六进制格式
- 2. 反向工程十六进制值到时间日期格式
- 3. 十六进制日期时间格式的字符串
- 4. 以十进制格式获取两个日期时间之间的日期和小时
- 5. 当我从C中的数组中获得十六进制值时,如何保留十六进制格式?
- 6. 以十进制和浮点格式打印十六进制值
- 7. 如何将日期时间转换为十六进制
- 8. Excel十进制格式到C#日期时间
- 9. 以这种格式获取日期时间并转换为4字节的十六进制
- 10. 获取十六进制格式的转义字符C
- 11. 十六进制格式
- 12. 十六进制格式
- 13. 以十六进制格式获取画布的背景颜色
- 14. C++十六进制数字格式
- 15. 如何在C#中获取当前短日期时间格式?
- 16. 在十六进制格式和二进制格式之间转换字符串
- 17. 在Javascript中格式化十六进制
- 18. 十六进制格式在Python中
- 19. 以十六进制或十进制格式打印变量
- 20. 十进制格式的日期时间在Java或乔达
- 21. 如何在十进制中将提取的日期转换为日期时间
- 22. Cout和十六进制[C++]
- 23. 输入十六进制并用C++读取十六进制
- 24. 日期格式的Java十进制日天数,和小时
- 25. 如何在R中的十进制和十六进制之间进行转换?
- 26. 在C++中将十六进制十六进制字符标记为十进制
- 27. 十六进制和十六进制十进制之间的区别
- 28. 将64位十六进制转换为Windows日期时间
- 29. 在c中获取日期和时间
- 30. 如何使用UIA以十六进制格式获取IUIAutomationElement的窗口句柄?
什么是错的节省时间'返回(NULL)';在一个无符号的值,并以您选择的任何格式打印? –
对于十六进制的日期/时间几乎没有要求:)这将是一个DIY工作,我很害怕.. – ThingyWotsit