KDK_SYSTEM...K_DATEINFO(3)

📦 version 3.0.1.4, in arch rolling, ubuntu resolute, ubuntu stonking

💖 KDK_SYSTEM...K_DATEINFO(3) 💖

okay bestie, welcome to the Library Functions Manual entry for KDK_SYSTEM...K_DATEINFO(3) — yes that's the whole mouthful of a name, we're doing this, sit down, grab a boba 🧋


🌸 NAME 🌸

kdk_system_login_lock_dateinfo — 获取登录锁屏的时间,星期,长格式日期

(that's "grab the time, the weekday and the long-format date off the logged-in user's lock screen", for my monolingual girlies 💅)


✨ SYNOPSIS ✨

#include <libkydate.h>

extern kdk_logn_dateinfo *kdk_system_login_lock_dateinfo(char *user);

Link with -lkydate.


🦋 Detailed Description 🦋

so the whole main character moment of this interface is: it goes and fetches the time, the week, and the long format date of the logged in user's lock screen. that's it. that's the job. 👑

the argument user is the target username — like, whose lock screen are we snooping, bestie? 🙈


🌈 RETURN VALUE 🌈

  • on success — you get back a pointer to a kdk_logn_dateinfo structure, which is defined in <libkydate.h> like this:
typedef struct _kdk_logn_dateinfo{
    char *date;     // 日期
    char *time;   // 时间
    char *week;
}kdk_logn_dateinfo;
  • on error — it returns NULL. not a vibe. 😭

🎀 EXAMPLES 🎀

here's the whole thing in action, no notes, slay:

#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;
}

👑 CONFORMING TO 👑

these functions are as per the withdrawn POSIX.1e draft specification — yeah, withdrawn, we don't talk about it, it's giving vintage 🕰️

the following functions are Linux extensions (so, extra, exclusive, lowkey iconic):

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_nowdate(), 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_timeformat_transform() and kdk_free_timeinfo().


💜 SEE ALSO 💜

the whole friend group, go say hi 💞

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_nowdate(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_timeformat_transform(3) and kdk_free_timeinfo(3).


and that's the page, bestie!! 🌟 brought to you by the Linux Programmer's Manual, dated Tue Sep 19 2023 — yes that's the whole footer, I'm not skipping it, periodt 💅✨

📦 where this page comes from