KDK_SYSTEM...DATEFORMAT(3)

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

✨ NAME ✨

hiii bestie, welcome to KDK_SYSTEM...DATEFORMAT(3), straight outta the Library Functions Manual 💖 this one's all about time and dates getting their little makeover, no cap.

  • kdk_system_tran_dateformat — 时间格式转换接口 (the time-format glow-up interface, periodt 🕐✨)

🫶 SYNOPSIS 🫶

#include <libkydate.h>

extern kdk_dateinfo *kdk_system_tran_dateformat(struct tm *ptr);

Link with -lkydate.


🌸 Detailed Description 🌸

okay so the whole main character job of this interface is to convert the time you got from the standard library's struct tm into a string in the current system time format. literally just taking your struct tm and giving it the fit it deserves 💅

The argument ptr It is a pointer to struct tm.


💖 RETURN VALUE 💖

On success, it hands you back a pointer to a kdk_dateinfo structure, which is defined in <libkydate.h> like this:

typedef struct _kdk_dateinfo{
       char *date;     // 日期                char *time;   // 时间                char *timesec;  //带秒钟数时间
        }kdk_dateinfo;

On error, return NULL. 😭 not the vibe but okay, we move.


🎀 EXAMPLES 🎀

here's a whole lil demo, chef's kiss, copying it exactly because the details are sacred:

#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 👑

heads up bestie, these functions are as per the withdrawn POSIX.1e draft specification. withdrawn!! it's giving vintage, not it's giving current, iykyk.

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_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_system_timeformat_transform() and kdk_free_timeinfo().

🦋 SEE ALSO 🦋

the whole friend group, go say hi 🫶


that's the whole page bestie, hope it ate 💅✨

so this came from the Linux Programmer's Manual, dated Tue Sep 19 2023, and yeah the page name is KDK_SYSTEM...DATEFORMAT(3). bye mwah 🎀💖🦋

📦 where this page comes from