File: parse_date.c

package info (click to toggle)
newsraft 0.34-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,140 kB
  • sloc: ansic: 12,318; makefile: 76; sh: 28; xml: 21
file content (25 lines) | stat: -rw-r--r-- 812 bytes parent folder | download
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
#include "newsraft.h"

static bool
test_date(const char *date, int64_t true_time)
{
	int64_t test_time = parse_date(date, false);
	if (test_time == true_time) {
		return true;
	} else {
		fprintf(stderr, "Mismatch for %s: %lld != %lld\n", date, test_time, true_time);
		return false;
	}
}

int
main(void)
{
	if (test_date("1996-12-19T16:39:57-08:00",        851042397) == false) return 1;
	if (test_date("1990-12-31T23:59:60Z",             662688000) == false) return 1;
	if (test_date("1990-12-31T15:59:60-08:00",        662688000) == false) return 1;
	if (test_date("Sun, 05 May 2024 17:53:44 +0200", 1714924424) == false) return 1;
	if (test_date("1978-07-03", /* YYYY-MM-DD */      268272000) == false) return 1;
	if (test_date("1978/07/03", /* YYYY/MM/DD */      268272000) == false) return 1;
	return 0;
}