Tag: 日期

在C中将包含localtime的字符串转换为UTC

我有一个包含本地日期/时间的字符串,我需要将其转换为time_t值(以UTC为单位) – 我一直在尝试这个: char* date = “2009/09/01/00”; struct tm cal = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL}; strptime(date, “%Y/%m/%d/%H”, &cal); time_t t = mktime(&cal); 但是我得到的time_t值是如果字符串被解析为UTC而不是本地时间的话我期望的值。 也许我误解了strptime应该做什么,但是在我9月1日的时区(英国),我们正在使用BST(即UTC + 1小时)所以我希望我最终得到的值比UTC提前1小时。 有没有办法将字符串解释为localtime,自动考虑在该日期生效的UTC偏移量? 请注意,我需要time_t值而不是struct tm,在上面的示例中,我希望time_t值对应于2009-09-01 01:00:00 GMT

将unix时间戳转换为没有系统库的日期

我正在构建一个嵌入式项目,它显示从显示器上的GPS模块检索的时间,但我还想显示当前日期。 我目前有时间作为unix时间戳,而progject是用C语言编写的。 我正在寻找一种从时间戳计算当前UTC日期的方法,考虑到闰年? 请记住,这是针对没有FPU的嵌入式项目,因此模拟浮点数学,尽可能地避免它的性能。 编辑 在看了@R …的代码之后,我决定自己写一篇文章并提出以下内容。 void calcDate(struct tm *tm) { uint32_t seconds, minutes, hours, days, year, month; uint32_t dayOfWeek; seconds = gpsGetEpoch(); /* calculate minutes */ minutes = seconds / 60; seconds -= minutes * 60; /* calculate hours */ hours = minutes / 60; minutes -= hours * 60; /* calculate days […]

如何将“2012-03-02”转换为C中的unix纪元时间?

表示2012年3月2日的字符串“2012-03-02”作为输入变量(char *)给出。 如何用C编程语言将此日期转换为unix纪元时间?

如何确定哪一天是C中当前语言环境中的第一周

如何确定哪一天是C中当前语言环境中的第一天。在俄罗斯星期一是第一天,但​​我的mac显示错误的第一天本地化日历。 所以我想知道我是否可以确定哪一天是当前语言环境中的第一天。 谢谢。 anatoly@mb:/Users/anatoly$ cal Июля 2012 вс пн вт ср чт пт сб 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

用于解析日期时间的C库

是否知道c的日期解析function。 我正在寻找类似的东西: time = parse_time(“9/10/2009”); printf(“%d\n”, time->date); time2 = parse_time(“Monday September 10th 2009”) time2 = parse_time(“Monday September 10th 2009 12:30 AM”) 谢谢

C中两个日期之间的差异

我是C的初学者。 日期是否有任何数据类型? 在C我们有时间工作,还有一个日期吗? 如何计算两个日期之间的差异?

使用C或C ++在日历日期上的算术(在给定日期添加N天)

我得到了一个约会,我作为一个输入,如(日,月,年): 12, 03, 87 。 现在我需要找出n天后的日期。 我已为此编写代码,但效率不高。 能不能告诉我任何好的逻辑,它运行得更快,复杂性更低。 #include static int days_in_month[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int day, month, year; unsigned short day_counter; int is_leap(int y) { return ((y % 4 == 0 && y % 100 != 0) || y % 400 […]

确定一周的哪一天开始

如何在当前区域设置中确定一周的哪一天? 我需要用C语言,大概是通过标题。 谢谢。