乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 136|回复: 6

又有一个问题

[复制链接]

3

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
21
发表于 2003-6-8 22:15:00 | 显示全部楼层 |阅读模式
VisualLisp中的时间是怎样记录的
我读取的DATE这个系统变量的时候,出现一窜奇怪的数字,这是怎么一回事
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-6-9 08:35:00 | 显示全部楼层
(defun c:gettime(/ stime h m s)
  (setq stime (getvar"date"))
  (setq stime (* 86400.0 (- stime (fix stime))))
  (setq h (fix (/ stime 3600)))
  (setq m (fix (/ (- stime (* h 3600)) 60)))
  (setq s (fix (- stime (* m 60) (* h 3600))))
  (princ (strcat "现在时间为:" (rtos h) ":" (rtos m) ":" (rtos s)))
  (princ)
  )
回复

使用道具 举报

26

主题

345

帖子

11

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2003-6-9 10:01:00 | 显示全部楼层
(DEFUN setDATE ()
  (SETQ TXT1 (rtos (GETVAR "CDATE")))
  (SETQ TXT1 (SUBSTR TXT1 1 8))
  (SETQ        #T1  (SUBSTR TXT1 1 4)
        #T2  (SUBSTR TXT1 5 2)
        #T3  (SUBSTR TXT1 7 2)
        TXT1 (STRCAT "---------"           #T1              "年-"
                     #T2        "月-"           #T3              "日"
                     "---------"
                    )
  )
  (setq        #t1 nil
        #t2 nil
        #t3 nil
  )
(setq txt1 nil)
)
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-6-9 11:19:00 | 显示全部楼层
这个参数返回的是儒略日,具体我也没弄很清楚。下面是我从一个MATLAB转换过来的。用前生的可能比较方便些[br](defun ju(j / BC j0 dd n1 n2 n3 year0 year month day round ceil)
  (defun round(num1 / b)
    (setq b (fix num1))
    (if (> (- num1 b) 0.5)
      (setq b (1+ b))
      b)
  )
  (defun ceil(num / b)
    (setq b (fix num))
    (1+ b)
  )
  (if ( month 12)
    (progn
      (setq month (- month 12))
      (setq year (1+ year))
    )
  )
  (setq year (- year BC))
  (princ "今天是:")
  (princ year)
  (princ "年")
  (princ month)
  (princ "月")
  (princ day)
  (princ "日")
  (princ)
)
回复

使用道具 举报

3

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
21
发表于 2003-6-9 14:33:00 | 显示全部楼层
30.6,365.23我基本上还能猜得出是什么,但是36524.25,32083之类的我实在不明白是什么
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-6-9 20:26:00 | 显示全部楼层
Sub dd()
Debug.Print ThisDrawing.GetVariable("date")
Debug.Print ConvertJulianDate(ThisDrawing.GetVariable("DATE"))
End Sub
Public Function ConvertJulianDate(julianDate As Double) As Date
    ConvertJulianDate = julianDate - 2415019
End Function
回复

使用道具 举报

20

主题

653

帖子

15

银币

中流砥柱

Rank: 25

铜币
733
发表于 2003-6-12 18:02:00 | 显示全部楼层
参考一下ExpressTools中的julian.lsp,很有帮助的
当然简单一点的可以用DODLib中的相关函数
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-3 13:26 , Processed in 0.768612 second(s), 77 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表