KDK_SYSTEM_TIMEFORMAT_TRANSFORM(3)

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

💖 KDK_SYSTEM_TIMEFORMAT_TRANSFORM 💖

okay bestie, welcome to KDK_SYSTEM_TIMEFORMAT_TRANSFORM(3), straight outta the Library Functions Manual section 3, and lemme tell you, this one is a whole vibe. it's giving "time zone bestie energy." 🕰️✨


✨ NAME ✨

kdk_system_timeformat_transform — 时间格式转化 (time format transform, iykyk) 💅


🌸 SYNOPSIS 🌸

#include <libkydate.h>

extern kdk_timeinfo *kdk_system_timeformat_transform(struct tm *ptr);

Link with -lkydate.

bestie do NOT forget that -lkydate link flag or the linker will simply pass away 💀

🦋 DETAILED DESCRIPTION 🦋

so the whole point of this function — its main character moment, if you will — is to take the time you got from struct tm (yes, the standard library one, the OG) and convert it into a structure in the user settings format. glow-up for your timestamps, fr fr. 🌈

the argument ptr is a pointer to struct tm. that's it. that's the whole assignment. 🎀


💜 RETURN VALUE 💜

on success, it returns a pointer to a kdk_timeinfo structure, which is defined in <libkydate.h> as follows:

typedef struct _kdk_timeinfo{
    char *time;   // 时间
    char *timesec;  //带秒钟数时间
}kdk_timeinfo;

on error, it returns NULL. 😭 (not me getting a NULL back and spiraling)


👑 EXAMPLES 👑

here's the whole thing, bestie, and no i did not touch a single character of it because that's the rules:

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

notice how the actual star of the show, kdk_system_timeformat_transform(&ptr), shows up near the end with tm_hour = 19, tm_min = 3, tm_sec = 2? yeah. she's the finale. 🌟 and yes you gotta kdk_free_timeinfo(ti) after — free your memory bestie, it's self care. 🫶


🧚 CONFORMING TO 🧚

these functions are as per the withdrawn POSIX.1e draft specification. (withdrawn?? okay dramatic. 💀)

the following functions are Linux extensions:

  • 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_login_lock_dateinfo()
  • kdk_free_timeinfo()

periodt. 💅


🔥 SEE ALSO 🔥

the whole friend group, go say hi:


and that's the page bestie!! this lil masterpiece comes to you from the Linux Programmer's Manual, dated Tue Sep 19 2023 — no cap, that's the whole source and version right there. stay slaying, free your pointers, and may all your timestamps transform flawlessly. mwah 💋✨🦋

📦 where this page comes from