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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rtl_date.cpp

?? c-smile 一個(gè)語法類似與JS 又有點(diǎn)像C++的 編譯器
?? CPP
字號(hào):
/*
*
* rtl_date.cpp
*
* Copyright (c) 2001, 2002
* Andrew Fedoniouk - andrew@terra-informatica.org
* Portions: Serge Kuznetsov -  kuznetsov@deeptown.org
*
* See the file "COPYING" for information on usage 
* and redistribution of this file
*
*/
#include <stdio.h>
#include <stdlib.h>
#include "c-smile.h"
#include "vm.h"
#include "arithmetic.h"
#include "rtl.h"
#include <time.h>
#include "cs_datetime.h"

namespace c_smile
{
  CLASS *DATE::INSTANCE::klass = 0;

  VALUE
    DATE::ctor ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = new INSTANCE ();
    if ( argc == 0 )
    {
      time_t t;
      ::time ( &t );
      me->_dt = *localtime ( &t );
      return VALUE ( me );
    }

    int year = 1;
    int month = 1;
    int day = 1;
    int hour = 0;
    int minute = 0;
    int second = 0;
    int millis = 0;

    chktype ( 0, DT_INTEGER );
    year = int ( argv [ 0 ] );
    if ( argc > 1 )
    {
      chktype ( 1, DT_INTEGER );
      month = int ( argv [ 1 ] );
    }
    if ( argc > 2 )
    {
      chktype ( 2, DT_INTEGER );
      day = int ( argv [ 2 ] );
    }
    if ( argc > 3 )
    {
      chktype ( 3, DT_INTEGER );
      hour = int ( argv [ 3 ] );
    }
    if ( argc > 4 )
    {
      chktype ( 4, DT_INTEGER );
      minute = int ( argv [ 4 ] );
    }
    if ( argc > 5 )
    {
      chktype ( 5, DT_INTEGER );
      second = int ( argv [ 5 ] );
    }
    if ( argc > 6 )
    {
      chktype ( 6, DT_INTEGER );
      millis = int ( argv [ 6 ] );
    }

    if ( !me->_dt.set ( year, month, day, hour, minute, second, millis ) )
      VM::error ( "invalid date" );
    return VALUE ( me );
  }

  VALUE
    DATE::tostring ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = ( DATE::INSTANCE * ) _this_.v.v_thing;
    return VALUE ( me->_dt.operator string () );
  }

  VALUE
    DATE::day ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = ( DATE::INSTANCE * ) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_int () )
        error_parameters ();
      me->_dt.day ( int ( argv [ 0 ] ) );
    }
    return me->_dt.day ();
  }

  VALUE
    DATE::month ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_int () )
        error_parameters ();
      me->_dt.month ( int ( argv [ 0 ] ) );
    }
    return me->_dt.month ();
  }

  VALUE
    DATE::year ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_int () )
        error_parameters ();
      me->_dt.year ( int ( argv [ 0 ] ) );
    }
    return me->_dt.year ();
  }

  VALUE
    DATE::day_of_week ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;
    if ( argc )
      error_read_only ();
    return me->_dt.day_of_week ();
  }

  VALUE
    DATE::day_of_year ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = ( DATE::INSTANCE * ) _this_.v.v_thing;
    if ( argc )
      error_read_only ();
    return me->_dt.day_of_year ();
  }

  VALUE
    DATE::hours ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_int () )
        error_parameters ();
      me->_dt.hours ( int ( argv [ 0 ] ) );
    }
    return me->_dt.hours ();
  }

  VALUE
    DATE::minutes ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_int () )
        error_parameters ();
      me->_dt.minutes ( int ( argv [ 0 ] ) );
    }
    return me->_dt.minutes ();
  }

  VALUE
    DATE::seconds ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_int () )
        error_parameters ();
      me->_dt.seconds ( int ( argv [ 0 ] ) );
    }

    return me->_dt.seconds ();
  }

  VALUE
    DATE::abstime ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = ( DATE::INSTANCE * ) _this_.v.v_thing;

    if ( argc )
    {
      if ( !argv [ 0 ].is_number () )
        error_parameters ();
      me->_dt.absolute_millis ( datetime_t ( double ( argv [ 0 ] ) ));
    }

    return VALUE ( (double) me->_dt.absolute_millis () );
  }

  VALUE
    DATE::cast ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = new DATE::INSTANCE ();
    if ( argc == 0 || argc > 1 )
      return ctor ( argc, argv );
    if ( argv [ 0 ].is_int () ) // number of days
      me->_dt.absolute_millis ( (datetime_t ) ( int ( argv [ 0 ] ) * 1000 * 60 * 24 ) );
    else if ( argv [ 0 ].is_float () )
      me->_dt.absolute_millis ( (datetime_t ) double ( argv [ 0 ] ) );
    else error_parameters ();
    return VALUE ( me );
  }

  // ( a ) If the number of the year is divisible by 4 then the year is a Leap Year, except
  // ( b ) If the number of the year ends in 00 then the year is not a leap year; however
  // ( c ) If the number of the year ends in 00 and the year is divisible by 400 the year is a Leap Year.

  VALUE
    DATE::is_leap ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;
    int year = me->_dt.year ();
    bool is_leap_year = ( ( year & 3 ) == 0 ) &&
                        ( ( year % 100 ) != 0 ||
                        ( year % 400 ) == 0 );
    return is_leap_year;
  }


  VALUE
    DATE::format ( int argc, VALUE *argv )
  {
    DATE::INSTANCE *me = (DATE::INSTANCE *) _this_.v.v_thing;

    if ( argc == 1 && argv [ 0 ].is_string () )
    {
      struct tm syst;
      me->_dt.systemtime ( syst );
      char buffer [ 1024 ];

      buffer [
        strftime ( buffer, 1024, CSTR ( argv [ 0 ].v.v_string ), &syst )
             ] = 0;

      return VALUE ( new STRING ( buffer ) );
    }
    else
      error_parameters ();

    return VM::undefined;
  }

};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区不卡 | 欧美xxx久久| 99综合影院在线| 久久国产精品99久久久久久老狼| 中文字幕日韩欧美一区二区三区| 欧美一区二区免费观在线| 91免费看视频| 风流少妇一区二区| 久久97超碰色| 视频在线观看一区| 亚洲综合偷拍欧美一区色| 国产欧美一区二区三区在线看蜜臀| 在线播放中文字幕一区| 91蝌蚪国产九色| 成人高清av在线| 国产精品自拍网站| 精品一区在线看| 蜜臀av一区二区在线免费观看| 一级女性全黄久久生活片免费| 欧美国产日韩亚洲一区| 日韩精品一区在线| 91麻豆精品国产91久久久更新时间 | 国产精品18久久久久久久网站| 亚洲成人三级小说| 一区二区三区四区不卡视频| 五月天丁香久久| 亚洲视频中文字幕| 国产精品国产三级国产普通话蜜臀| 久久夜色精品一区| 精品久久人人做人人爽| 欧美一区二区三区系列电影| 91.com视频| 欧美久久一区二区| 欧美日韩三级在线| 欧美中文字幕亚洲一区二区va在线 | 久久久久久日产精品| 欧美www视频| 日韩三区在线观看| 日韩精品一区在线观看| 欧美zozo另类异族| 国产色综合久久| 国产色一区二区| 国产精品视频第一区| 中文字幕欧美激情| 自拍偷拍亚洲欧美日韩| 亚洲视频你懂的| 亚洲精品视频在线观看免费 | 日韩黄色免费网站| 美日韩一区二区| 久国产精品韩国三级视频| 麻豆一区二区99久久久久| 韩国欧美国产1区| 成人丝袜视频网| 99精品欧美一区| 色噜噜久久综合| 91超碰这里只有精品国产| 日韩片之四级片| 香蕉久久夜色精品国产使用方法| 亚洲图片欧美视频| 蜜臀精品久久久久久蜜臀| 国产一区二区三区美女| zzijzzij亚洲日本少妇熟睡| 一本色道久久加勒比精品| 欧美亚洲精品一区| 日韩一卡二卡三卡| 久久精品夜色噜噜亚洲aⅴ| 中文字幕色av一区二区三区| 亚洲第一成年网| 蜜乳av一区二区三区| 国产成人啪免费观看软件| 99re这里只有精品6| 欧美精品一二三区| 久久综合九色综合97婷婷女人| 中文字幕精品三区| 日韩中文字幕不卡| 粉嫩高潮美女一区二区三区| 色婷婷久久一区二区三区麻豆| 91精品中文字幕一区二区三区| 精品美女一区二区| 亚洲免费视频中文字幕| 日韩av二区在线播放| 波多野结衣精品在线| 欧美美女网站色| 国产亚洲精品aa午夜观看| 一区二区三区成人| 激情欧美日韩一区二区| 91女神在线视频| 欧美tickling挠脚心丨vk| 中文字幕在线免费不卡| 欧美a一区二区| 91麻豆福利精品推荐| 精品人伦一区二区色婷婷| 一区二区三区资源| 国产美女娇喘av呻吟久久| 欧美日韩一区二区三区高清 | 午夜精品一区二区三区三上悠亚| 韩国女主播一区| 欧美日韩亚州综合| 国产精品麻豆一区二区| 美女在线视频一区| 一本久久综合亚洲鲁鲁五月天| 欧美变态tickling挠脚心| 亚洲九九爱视频| 国产69精品久久99不卡| 91精品福利在线一区二区三区 | 国产精品一二三四区| 欧美日韩在线综合| 1区2区3区精品视频| 精品制服美女久久| 欧美剧在线免费观看网站 | 免费看欧美女人艹b| 在线观看国产日韩| 国产精品成人午夜| 国产成人av影院| 日韩视频一区二区三区| 亚洲大片在线观看| 91国在线观看| 国产精品不卡在线观看| 国产精品亚洲综合一区在线观看| 欧美一级精品大片| 婷婷亚洲久悠悠色悠在线播放| 色一情一乱一乱一91av| 中文字幕亚洲精品在线观看| 国产精品系列在线观看| 精品久久国产字幕高潮| 视频在线在亚洲| 在线成人av网站| 午夜欧美2019年伦理| 在线欧美日韩国产| 亚洲最大色网站| 久久综合视频网| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美久久久一区| 午夜激情一区二区三区| 717成人午夜免费福利电影| 三级一区在线视频先锋| 欧美精品色综合| 亚洲成人动漫一区| 777午夜精品视频在线播放| 日韩极品在线观看| 欧美一级久久久久久久大片| 青青草伊人久久| 精品成人免费观看| 国产激情一区二区三区四区| 国产午夜精品久久| 丁香五精品蜜臀久久久久99网站| 中文字幕+乱码+中文字幕一区| 成人午夜激情在线| 日韩美女精品在线| 欧美又粗又大又爽| 秋霞电影网一区二区| 欧美电影免费观看高清完整版 | 欧美在线不卡视频| 亚洲第一福利视频在线| 日韩一区二区在线看| 久久av老司机精品网站导航| 久久精品亚洲国产奇米99| 成人动漫在线一区| 一区二区三区免费观看| 欧美一区二区免费视频| 国产成人aaa| 一区二区三区四区亚洲| 91精品国产综合久久福利| 国产酒店精品激情| 亚洲人成电影网站色mp4| 欧美日韩在线电影| 精品中文字幕一区二区| 国产精品久久久久三级| 欧美视频精品在线观看| 蜜臀精品一区二区三区在线观看| 国产拍欧美日韩视频二区| 色屁屁一区二区| 蜜臂av日日欢夜夜爽一区| 国产精品婷婷午夜在线观看| 色婷婷综合久久久中文一区二区| 日本成人在线不卡视频| 国产精品水嫩水嫩| 精品视频一区三区九区| 国产精品亚洲成人| 亚洲国产乱码最新视频| 精品99999| 在线视频国内一区二区| 国产美女精品人人做人人爽| 一个色综合av| 国产亚洲欧美日韩日本| 欧美日韩在线播放| 国产成人福利片| 日韩精品欧美精品| 国产精品超碰97尤物18| 日韩欧美亚洲国产另类| 91啦中文在线观看| 国产激情一区二区三区四区| 午夜电影一区二区| 中文字幕一区二区在线播放| 欧美一级理论片| 在线免费观看日本欧美| 国产精品一区二区在线看| 日韩高清欧美激情| 亚洲欧美成aⅴ人在线观看| 久久免费视频一区|