我想将Unix毫秒转换器实现为人类可读的日期格式。 使用这篇文章https://stackoverflow.com/a/1657307/1979882我发现我可以收到这样的字符串,但我无法在代码中设置时区。该代码仅使用系统时区。
#include <stdio.h>
#include <time.h>
int main ( int argc, char *argv[] )
{
time_t now;
struct tm *lcltime;
now = time ( NULL );
lcltime = localtime ( &now );
printf ( "The time is %d:%d\n", lcltime->tm_hour, lcltime->tm_min );
return 0;
}
可以自定义吗?
修改
我需要一些类似Java的方法:
SimpleDateFormat df= new SimpleDateFormat("dd MMM hh:mm z",Locale.ENGLISH);
df.setTimeZone("Europe/London");
System.out.println("London Time " + df.format(System.currentTime()));
df.setTimeZone("Asia/Benjin");
System.out.println("Benjin Time " + df.format(System.currentTime()));
EDIT_2
我发现我可以使用setenv设置时区(...) 网址 https://stackoverflow.com/a/1620451/1979882
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (int argc, char *argv[])
{
struct tm *mt;
time_t mtt;
char ftime[10];
setenv("TZ", "PST8PDT", 1);
tzset();
mtt = time(NULL);
mt = localtime(&mtt);
strftime(ftime,sizeof(ftime),"%Z %H%M",mt);
printf("%s\n", ftime);
}
但是改变了系统时区。我只需要在我的代码中进行时区修改。
答案 0 :(得分:1)
您可以根据所需的时区差异将参数更改为PERSON
。
create table person (
-- various columns
civilite_id int,
foreign key component civilite_id references civilite(id_civilite)
);
要完全移植,您可以参考this post
获取当前时区