奇狐社區論壇
在這個頁面顯示本主題全部的 5 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]請教有關日期無法正確顯示 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=11475)


由 雨田氏 在 2009-05-01 22:30 發表:

[問題]請教有關日期無法正確顯示

請教以下有關西元日期
YY:98;
MM:3;
DD:21;
西元:(YY+11)*10000+MM*100+DD+19000000;

理應為 20090321

為何數值顯示20090320

且有很多都錯誤

該如何解決

謝謝


由 alpha 在 2009-05-02 00:45 發表:

(1)
要用字串來取代 , 請使用 NumToStr( ) + NumToStr( ) + NumToStr( ) 來串接 ,
再用 Drawtextex() 之類的函數來顯示
但是就只能顯示 "一個" yyyymmdd ,

(2)
理應為 20090321
為何數值顯示20090320

這是因為 奇狐數值變數是由 4 個 Byte 組成的 浮點數 , "無法精準" 到 8 位數, 所以您瞧瞧DATE 函數他都只顯示 7 位數

__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了


由 雨田氏 在 2009-05-03 17:22 發表:

謝謝 alpha 兄


由 tscd782038 在 2011-04-04 20:54 發表:

請問有無方法

承此例2:
請問有無方法解決該問題


由 cgjj 在 2011-04-06 10:21 發表:

回覆: 請問有無方法

引用:
最初由 tscd782038 發表
承此例2:
請問有無方法解決該問題



並非錯誤, 為了以單精度表示日期(7位有效位數)
奇狐的 DATE 傳回的是該週期從1900以來的年月日
700101 表示19700101
1341231 表示 20341231
1110405 表示 20110406 (20110406-19000000)

若您是要顯示為完整日期(以文字格式)
可用類似這樣的方法處理
YYS:=numtostr(YEAR,0);
MMS:=strright('0'+numtostr(Month,0),2);
DDS:=strright('0'+numtostr(day,0),2);
DRAWTEXT(islastbar,c,YYS+'/'+MMS+'/'+DDS)


全部時間均為台灣時間, 現在時間為04:44
在這個頁面顯示本主題全部的 5 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.