KDK_SYSTEM_NOWDATE(3)
KDK_SYSTEM_NOWDATE 💖 (3) — a whole manual page, bestie
okay so. this is a page from the Library Functions Manual (yes that's the manual name, she's fancy like that ✨), and today's main character is kdk_system_nowdate. she does exactly one thing and she does it flawlessly. periodt. 💅
🌸 NAME 🌸
kdk_system_nowdate — 获取当前日期
(that's "get the current date" if your Chinese is giving nothing today, no judgement 🫶)
✨ SYNOPSIS ✨
#include <libkydate.h>
extern char* kdk_system_nowdate();
and like, link her up with -lkydate obviously. don't forget or she won't show up to the party 💀
💫 Detailed Description 💫
so the whole vibe of this interface?? it gets you the current date. that's it. that's the function. lowkey iconic that something can be this simple and this useful at the same time 😭
🎀 RETURN VALUE 🎀
- On success — she hands you the current date, type
char*. and listen, bestie, that string is yours now, you gotta release it withfree. she is not your mom, she will not clean up after you 🙈 - On error — you get
NULL. that's it. that's the whole message. go touch some grass and debug 🦋
🔥 EXAMPLES 🔥
here's the full little demo, copied exactly because we do NOT paraphrase code in this house:
#include "libkydate.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#include <glib.h>
#include <glib-object.h>
int main()
{
int ret = kdk_system_set_long_dateformat("2230年3月4日");
ret = kdk_system_set_short_dateformat("22/5/3");
char *ld = kdk_system_get_longformat_date();
printf("long res = %s0, ld);
free(ld);
char *sd = kdk_system_get_shortformat_date();
printf("short res = %s0, sd);
free(sd);
char *ll = kdk_system_get_longformat();
printf("longformat = %s0, ll);
free(ll);
char *ss = kdk_system_get_shortformat();
printf("shortformat = %s0, ss);
free(ss);
struct tm ptr;
ptr.tm_year = 2322;
ptr.tm_mon = 9;
ptr.tm_mday = 3;
char *lt = kdk_system_longformat_transform(&ptr);
printf("longformat_transform = %s0, lt);
free(lt);
ptr.tm_year = 2022;
ptr.tm_mon = 3;
ptr.tm_mday = 2;
char *st = kdk_system_shortformat_transform(&ptr);
printf("shortformat_transform = %s0, st);
free(st);
kdk_logn_dateinfo *info = kdk_system_login_lock_dateinfo("szm");
printf("date = %s,time = %s,week = %s0,info->date,info->time,info->week);
kdk_free_logn_dateinfo(info);
ptr.tm_hour = 19;
ptr.tm_min = 3;
ptr.tm_sec = 2;
kdk_timeinfo *ti = kdk_system_timeformat_transform(&ptr);
printf("time = %s, timesec = %s0, ti->time, ti->timesec);
kdk_free_timeinfo(ti);
return 0;
}
see how every single one of those free() calls is there?? that's the whole lesson. free your strings, bestie, they didn't ask to be leaked 😤
🧚 CONFORMING TO 🧚
these functions are as per the withdrawn POSIX.1e draft specification (withdrawn, yes, she's retro, she's vintage, she's a limited edition 👑). and these following ones are Linux extensions, so they're bonus content:
kdk_system_get_dateformat()kdk_system_set_dateformat()kdk_system_set_24_timeformat()kdk_system_set_12_timeformat()kdk_system_get_now_dateformat()kdk_system_get_now_timeformat()kdk_system_tran_dateformat()kdk_system_nowtime()kdk_system_shortweek()kdk_system_longweek()kdk_system_second()kdk_system_logn_dateinfo()kdk_system_gjx_time()kdk_date_freeall()kdk_free_dateinfo()kdk_free_logn_dateinfo()kdk_system_set_long_dateformat()kdk_system_set_short_dateformat()kdk_system_get_longformat_date()kdk_system_get_shortformat_date()kdk_system_get_longformat()kdk_system_get_shortformat()kdk_system_longformat_transform()kdk_system_shortformat_transform()kdk_system_login_lock_dateinfo()kdk_system_timeformat_transform()kdk_free_timeinfo()
🌈 SEE ALSO 🌈
the whole friend group, in order, because we don't play favourites (we do, but still):
kdk_system_get_dateformat(3)kdk_system_set_dateformat(3)kdk_system_set_24_timeformat(3)kdk_system_set_12_timeformat(3)kdk_system_get_now_dateformat(3)kdk_system_get_now_timeformat(3)kdk_system_tran_dateformat(3)kdk_system_nowtime(3)kdk_system_shortweek(3)kdk_system_longweek(3)kdk_system_second(3)kdk_system_logn_dateinfo(3)kdk_system_gjx_time(3)kdk_date_freeall(3)kdk_free_dateinfo(3)kdk_free_logn_dateinfo(3)kdk_system_set_long_dateformat(3)kdk_system_set_short_dateformat(3)kdk_system_get_longformat_date(3)kdk_system_get_shortformat_date(3)kdk_system_get_longformat(3)kdk_system_get_shortformat(3)kdk_system_longformat_transform(3)kdk_system_shortformat_transform(3)kdk_system_login_lock_dateinfo(3)kdk_system_timeformat_transform(3)kdk_free_timeinfo(3)
ok and that's the whole page, bestie 🫶 from the Linux Programmer's Manual, dated Tue Sep 19 2023. go get your date, free your strings, and slay 💖✨🎀
📦 where this page comes from
- arch rolling: libkysdk-system 3.0.1.4-1 · LGPL-3.0-or-later AND LGPL-2.1-only OR LGPL-3.0-only AND LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR LGPL-3.0-only WITH Qt-LGPL-exception-1.1 AND MIT
- ubuntu resolute: libkysdk-system-dev 3.0.1.2-0ubuntu1 · LGPL-3.0-only
- ubuntu stonking: libkysdk-system-dev 3.0.1.3-0ubuntu1 · LGPL-3.0-or-later
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms