⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timezone.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#if !defined(lint) && defined(SCCSIDS)static	char sccsid[] = "@(#)timezone.c 1.1 92/07/30 SMI"; /* from UCB 4.4 83/09/25 */#endif/* * The arguments are the number of minutes of time * you are westward from Greenwich and whether DST is in effect. * It returns a string * giving the name of the local timezone. * * Sorry, I don't know all the names. */static struct zone {	int	offset;	char	*stdzone;	char	*dlzone;} zonetab[] = {	-12*60,    "NZST", "NZDT",	/* New Zealand */	-10*60,    "EST",  "EST",	/* Aust: Eastern */	-10*60+30, "CST",  "CST",	/* Aust: Central */	 -8*60,    "WST",  0,		/* Aust: Western */	 -9*60,    "JST",  0,		/* Japanese */	  0*60,    "GMT",  "BST",	/* Great Britain and Eire */	 -1*60,    "MET",  "MET DST",	/* Middle European */	 -2*60,    "EET",  "EET DST",	/* Eastern European */	  3*60+30, "NST",  "NDT",	/* Newfoundland */	  4*60,    "AST",  "ADT",	/* Atlantic */	  5*60,    "EST",  "EDT",	/* Eastern */	  6*60,    "CST",  "CDT",	/* Central */	  7*60,    "MST",  "MDT",	/* Mountain */	  8*60,    "PST",  "PDT",	/* Pacific */	  9*60,    "YST",  "YDT",	/* Yukon */	 10*60,    "HST",  "HDT",	/* Hawaiian */	-1};char *timezone(zone, dst){	register struct zone *zp;	static char czone[10];	char *sign;	register char *p, *q;	char *getenv(), *index();	if (p = getenv("TZNAME")) {		if (q = index(p, ',')) {			if (dst)				return(++q);			else {				*q = '\0';				strncpy(czone, p, sizeof(czone)-1);				czone[sizeof(czone)-1] = '\0';				*q = ',';				return (czone);			}		}		return(p);	}	for (zp=zonetab; zp->offset!=-1; zp++)		if (zp->offset==zone) {			if (dst && zp->dlzone)				return(zp->dlzone);			if (!dst && zp->stdzone)				return(zp->stdzone);		}	if (zone<0) {		zone = -zone;		sign = "+";	} else		sign = "-";	sprintf(czone, "GMT%s%d:%02d", sign, zone/60, zone%60);	return(czone);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -