🚀 add os.time() to get the local time string

This commit is contained in:
ValKmjolnir
2022-06-12 19:08:31 +08:00
parent b8283c5743
commit 60952e1d2f
5 changed files with 62 additions and 49 deletions
+12
View File
@@ -100,6 +100,7 @@ nas_native(builtin_costatus);
nas_native(builtin_corun);
nas_native(builtin_millisec);
nas_native(builtin_sysargv);
nas_native(builtin_logtime);
nasal_ref builtin_err(const char* func_name,const std::string& info)
{
@@ -206,6 +207,7 @@ struct
{"__builtin_corun" ,builtin_corun },
{"__builtin_millisec",builtin_millisec},
{"__builtin_sysargv", builtin_sysargv },
{"__builtin_logtime", builtin_logtime },
{nullptr, nullptr }
};
@@ -1454,4 +1456,14 @@ nasal_ref builtin_sysargv(nasal_ref* local,nasal_gc& gc)
res.vec().elems=gc.env_argv;
return res;
}
nasal_ref builtin_logtime(nasal_ref* local,nasal_gc& gc)
{
time_t t=time(nullptr);
tm* tm_t=localtime(&t);
char s[128];
sprintf(s,"%d-%.2d-%.2d %.2d:%.2d:%.2d",tm_t->tm_year+1900,tm_t->tm_mon+1,tm_t->tm_mday,tm_t->tm_hour,tm_t->tm_min,tm_t->tm_sec);
nasal_ref res=gc.alloc(vm_str);
res.str()=s;
return res;
}
#endif