Repository navigation
Expand file tree
/
Copy pathtest_date_api_response.pie
More file actions
80 lines (64 loc) · 2.29 KB
/
Copy pathtest_date_api_response.pie
File metadata and controls
80 lines (64 loc) · 2.29 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import date;
import json;
// Example: API response with timestamp that needs parsing
int main() {
output("=== Date Module with API Responses ===\n\n", string);
// Simulate an API response with a timestamp
string apiResponse = "{\"success\":true,\"timestamp\":\"2025-11-05T14:30:00\",\"data\":\"Sample data\",\"expires\":\"2025-11-05T18:30:00\"}";
output("API Response: ", string);
output(apiResponse, string);
output("\n\n", string);
// Parse the JSON
ptr response = json.parse(apiResponse);
// Extract the boolean and strings
int success = json.get_bool(response, "success");
string timestampStr = json.get_string(response, "timestamp");
string expiresStr = json.get_string(response, "expires");
string data = json.get_string(response, "data");
output("Success: ", string);
if (success == 1) {
output("true\n", string);
}
if (success == 0) {
output("false\n", string);
}
output("Data: ", string);
output(data, string);
output("\n\n", string);
// Parse the timestamps
int timestamp = date.parse_iso(timestampStr);
int expires = date.parse_iso(expiresStr);
output("Received at: ", string);
output(date.format(timestamp, "%A, %B %d, %Y at %I:%M %p"), string);
output("\n", string);
output("Expires at: ", string);
output(date.format(expires, "%A, %B %d, %Y at %I:%M %p"), string);
output("\n\n", string);
// Calculate time until expiration
int hoursValid = date.diff_hours(expires, timestamp);
output("Valid for: ", string);
output(hoursValid, int);
output(" hours\n\n", string);
// Check if expired
int now = date.now();
output("Current time: ", string);
output(date.format_iso(now), string);
output("\n", string);
int isExpired = 0;
if (now > expires) {
isExpired = 1;
}
output("Is expired: ", string);
if (isExpired == 1) {
output("Yes\n", string);
}
if (isExpired == 0) {
output("No\n", string);
int hoursRemaining = date.diff_hours(expires, now);
output("Hours remaining: ", string);
output(hoursRemaining, int);
output("\n", string);
}
output("\n=== Complete ===\n", string);
return 0;
}