亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wce_localtime.c

?? Package of C library extensions for Windows CE operating system. It is a supplement to C library ava
?? C
字號:
/*
 * $Id: wce_localtime.c,v 1.2 2006/04/09 16:48:18 mloskot Exp $
 *
 * Defines localtime() function.
 *
 * Created by Mateusz Loskot (mateusz@loskot.net)
 *
 * Copyright (c) 2006 Taxus SI Ltd.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation 
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom 
 * the Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
 * THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * MIT License:
 * http://opensource.org/licenses/mit-license.php
 *
 * Contact:
 * Taxus SI Ltd.
 * http://www.taxussi.com.pl
 *
 */

#include <wce_time.h>
#include <stdlib.h>
#include <windows.h>

/*******************************************************************************
  Constants and macros used internally
*******************************************************************************/

#define SECS_PER_MIN	60
#define MINS_PER_HOUR	60
#define HOURS_PER_DAY	24
#define DAYS_PER_WEEK	7
#define DAYS_PER_NYEAR	365
#define DAYS_PER_LYEAR	366
#define SECS_PER_HOUR	(SECS_PER_MIN * MINS_PER_HOUR)
#define SECS_PER_DAY	((long) SECS_PER_HOUR * HOURS_PER_DAY)
#define MONS_PER_YEAR	12

#define TM_SUNDAY	0
#define TM_MONDAY	1
#define TM_TUESDAY	2
#define TM_WEDNESDAY	3
#define TM_THURSDAY	4
#define TM_FRIDAY	5
#define TM_SATURDAY	6

#define TM_JANUARY	0
#define TM_FEBRUARY	1
#define TM_MARCH	2
#define TM_APRIL	3
#define TM_MAY		4
#define TM_JUNE		5
#define TM_JULY		6
#define TM_AUGUST	7
#define TM_SEPTEMBER	8
#define TM_OCTOBER	9
#define TM_NOVEBER	10
#define TM_DECEMBER	11
#define TM_SUNDAY	0

#define TM_YEAR_BASE	1900

#define EPOCH_YEAR	1970
#define EPOCH_WDAY	TM_THURSDAY

#define isleap(y) (((y) % 4) == 0 && ((y) % 100) != 0 || ((y) % 400) == 0)

/*******************************************************************************
  Local time functions
*******************************************************************************/

struct tm * __wceex_offtime(const time_t *timer, long tzoffset);

/*******************************************************************************
* wceex_localtime - Convert time_t value to tm struct.
*
* Description:
*   Use offset as difference in seconds between local time and UTC time.
*
*******************************************************************************/
struct tm * wceex_localtime(const time_t *timer)
{
    register struct tm *tmp;

    long tzoffset;
    TIME_ZONE_INFORMATION tzi;
    
    // Retrive timezone offset in seconds
    tzoffset = 0;
	if (GetTimeZoneInformation(&tzi) != 0xFFFFFFFF)
	{
		tzoffset += (tzi.Bias * 60);
		if (tzi.StandardDate.wMonth != 0)
        {
			tzoffset += (tzi.StandardBias * 60);
        }
	}
    
    tzoffset *= -1;
    tmp = __wceex_offtime(timer, tzoffset);

    return tmp;
}

/*******************************************************************************
* wceex_gmtime - Convert time_t value to tm struct.
*
* Description:
*   This function is similar to localtime, except that the broken-down
*   time is expressed as Coordinated Universal Time (UTC) 
*   rather than relative to a local time zone.
*
*******************************************************************************/
struct tm * wceex_gmtime(const time_t *timer)
{
    register struct tm *tmp;

    tmp = __wceex_offtime(timer, 0L);

    return tmp;
}

/*******************************************************************************
* __wceex_offtime - Convert time_t value to tm struct.
*
* Description:
*   Use offset as difference in seconds between local time and UTC time.
*
*******************************************************************************/
static int	mon_lengths[2][MONS_PER_YEAR] =
{
    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
    31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};

static int	year_lengths[2] = { DAYS_PER_NYEAR, DAYS_PER_LYEAR };


struct tm * __wceex_offtime(const time_t *timer, long tzoffset)
{
    register struct tm *tmp;
    register long		days;
    register long		rem;
    register int		y;
    register int		yleap;
    register int       *ip;
    static struct tm    tm;

    tmp = &tm;
    days = *timer / SECS_PER_DAY;
    rem = *timer % SECS_PER_DAY;
    rem += tzoffset;
    while (rem < 0)
    {
        rem += SECS_PER_DAY;
        --days;
    }
    
    while (rem >= SECS_PER_DAY)
    {
        rem -= SECS_PER_DAY;
        ++days;
    }
    tmp->tm_hour = (int) (rem / SECS_PER_HOUR);

    rem = rem % SECS_PER_HOUR;
    tmp->tm_min = (int) (rem / SECS_PER_MIN);
    tmp->tm_sec = (int) (rem % SECS_PER_MIN);
    tmp->tm_wday = (int) ((EPOCH_WDAY + days) % DAYS_PER_WEEK);
    
    if (tmp->tm_wday < 0)
        tmp->tm_wday += DAYS_PER_WEEK;
    
    y = EPOCH_YEAR;
    
    if (days >= 0)
    {
        for ( ; ; )
        {
            yleap = isleap(y);
            if (days < (long) year_lengths[yleap])
                break;

            ++y;
            days = days - (long) year_lengths[yleap];
        }
    }
    else
    {
        do
        {
            --y;
            yleap = isleap(y);
            days = days + (long) year_lengths[yleap];
        } while (days < 0);
    }

    tmp->tm_year = y - TM_YEAR_BASE;
    tmp->tm_yday = (int) days;
    ip = mon_lengths[yleap];

    for (tmp->tm_mon = 0; days >= (long) ip[tmp->tm_mon]; ++(tmp->tm_mon))
    {
        days = days - (long) ip[tmp->tm_mon];
    }

    tmp->tm_mday = (int) (days + 1);
    tmp->tm_isdst = 0;

    return tmp;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国视频一区二区| 青青草国产精品97视觉盛宴| 国产欧美一区视频| 日韩欧美国产麻豆| 91精品福利在线一区二区三区| 欧美亚一区二区| 欧美专区在线观看一区| 欧美日韩国产精选| 欧美区视频在线观看| 欧美美女黄视频| 日韩欧美专区在线| 欧美videos中文字幕| 精品国产一区二区在线观看| 国产亚洲精品aa午夜观看| 国产日产欧产精品推荐色 | 欧美日本在线观看| 欧美日韩一区在线| 日韩一级黄色大片| 久久精品夜夜夜夜久久| 国产精品无人区| 亚洲女爱视频在线| 五月天久久比比资源色| 美女视频一区二区| 国产精品一二三| 91国偷自产一区二区使用方法| 91精品婷婷国产综合久久性色| 久久精品男人的天堂| 国产精品久久久久久久岛一牛影视| 亚洲欧美日韩国产综合| 欧美日韩亚洲国产综合| 欧美性生活久久| 日韩欧美国产综合一区| 91福利社在线观看| 欧美一区二区私人影院日本| 久久久久久毛片| 亚洲免费成人av| 裸体健美xxxx欧美裸体表演| www.日韩av| 欧美肥大bbwbbw高潮| 中文字幕不卡在线播放| 丝袜脚交一区二区| 成av人片一区二区| 日韩一区二区三区电影在线观看| 国产日韩欧美精品综合| 亚洲成av人片www| 91影院在线免费观看| 91精品国产品国语在线不卡| 中文字幕在线一区| 欧美bbbbb| 精品视频在线免费观看| 国产亚洲1区2区3区| 日韩中文字幕1| 欧美性感一类影片在线播放| 亚洲欧美怡红院| 国内成人免费视频| 欧美一区二区三区播放老司机| 亚洲一区在线免费观看| 国产成人亚洲精品青草天美| 日韩视频123| 五月婷婷另类国产| 色域天天综合网| 中文字幕在线一区免费| 激情久久五月天| 欧美一区二区福利视频| 亚洲综合自拍偷拍| jiyouzz国产精品久久| 国产亚洲欧美一区在线观看| 精品一区二区三区免费毛片爱| 欧美一区二区三区啪啪| 亚洲第一电影网| 欧美日韩免费视频| 亚洲欧美日韩一区| 色综合婷婷久久| 亚洲人成精品久久久久| 粉嫩一区二区三区在线看| 久久婷婷综合激情| 国产精一区二区三区| 精品国产凹凸成av人网站| 免费成人深夜小野草| 欧美一区二区三区思思人| 午夜精品福利视频网站| 欧美日韩一区二区在线观看| 亚洲成av人影院在线观看网| 91麻豆精品国产91久久久使用方法 | 国产一区二区在线视频| 日韩精品一区二区三区四区视频| 免费成人性网站| 久久综合九色综合欧美98| 春色校园综合激情亚洲| 亚洲精品国产无天堂网2021| 99久久婷婷国产综合精品| 国产精品青草久久| 99视频精品在线| 一区二区三区视频在线看| 欧美性受xxxx黑人xyx| 日韩va欧美va亚洲va久久| 538在线一区二区精品国产| 秋霞午夜av一区二区三区| 日韩三级.com| eeuss鲁片一区二区三区在线看| 亚洲人吸女人奶水| 欧美日韩亚州综合| 麻豆传媒一区二区三区| 国产女人18毛片水真多成人如厕| 99re这里只有精品首页| 亚洲一区二区在线观看视频| 日韩欧美专区在线| 国产成人亚洲综合色影视| 伊人性伊人情综合网| 欧美一区二区三区免费| 成人动漫在线一区| 五月婷婷激情综合网| 中文字幕欧美三区| 在线观看网站黄不卡| 国产一区二区三区av电影| 亚洲免费成人av| 久久久久久麻豆| 欧美喷水一区二区| 成人性生交大片免费看中文网站| 亚洲国产aⅴ天堂久久| 久久这里只有精品首页| 欧美日韩在线免费视频| 国产成人av一区| 美女视频网站久久| 亚洲免费在线观看视频| 精品福利av导航| 欧美性xxxxxxxx| 91亚洲精品久久久蜜桃网站 | 99久久久精品| 精品一区精品二区高清| 夜色激情一区二区| 国产精品视频一二| 337p日本欧洲亚洲大胆色噜噜| 欧美视频在线不卡| 成人综合婷婷国产精品久久| 久久99精品国产.久久久久久| 亚洲国产精品人人做人人爽| |精品福利一区二区三区| 久久免费美女视频| 欧美大片一区二区| 777色狠狠一区二区三区| 欧美色男人天堂| 欧美午夜在线一二页| 91麻豆123| 91美女蜜桃在线| 91亚洲精品久久久蜜桃网站 | 日本少妇一区二区| 亚洲精品日韩专区silk| 国产精品视频观看| 久久久91精品国产一区二区精品| 久久婷婷色综合| 久久久久久久av麻豆果冻| 日韩一区和二区| 欧美videofree性高清杂交| 欧美一区二区三区色| 日韩欧美在线观看一区二区三区| 337p亚洲精品色噜噜狠狠| 在线看国产日韩| 欧美亚洲国产一区二区三区| 欧美日韩国产综合一区二区| 欧美日韩国产成人在线91| 日本道色综合久久| 在线影视一区二区三区| 欧美写真视频网站| 91精品在线麻豆| 久久久蜜桃精品| 亚洲色图一区二区三区| 亚洲美女视频在线观看| 亚洲综合精品自拍| 偷拍日韩校园综合在线| 麻豆精品久久久| 成人免费av在线| 欧美三级在线看| 26uuu色噜噜精品一区二区| 欧美激情一区在线观看| 亚洲色图20p| 天天影视涩香欲综合网| 韩国成人在线视频| www.欧美.com| 欧美精品一二三| 日本一区免费视频| 亚洲欧美日韩一区二区| 肉肉av福利一精品导航| 国产精品一区二区免费不卡| 色婷婷综合久久久| 欧美乱熟臀69xxxxxx| 国产视频一区在线观看| 亚洲午夜免费视频| 九色porny丨国产精品| av成人老司机| 日韩精品在线网站| 中文字幕一区二区三区不卡在线| 视频一区视频二区在线观看| 成人网页在线观看| 欧美人狂配大交3d怪物一区| 成人小视频在线观看| 欧美xxxxx牲另类人与| 热久久免费视频| 欧美一区二区人人喊爽| 亚洲精品中文字幕乱码三区|