#include #include #include #include int main(int argc, char *argv[]) { char date[256]; time_t then = 1678658400; const char *locale = setlocale(LC_TIME, argv[1]); strftime(date, sizeof date, "%B", localtime(&then)); printf("%s: %s (%u bytes)\n", locale, date, strlen(date)); return 0; } #### use v5.10; use POSIX qw(LC_ALL setlocale strftime); my $locale = $ARGV[0]; say "$locale: ", POSIX::setlocale(LC_ALL, $locale); my $march = strftime("%B", 0, 0, 0, 1, 2, 123); say $march;