getdatestring.lisp

(defun universal-time-to-timestamp (universal-time)
    "universal-time convert to unix timestamp"
    (-
        universal-time
        (encode-universal-time 0 0 0 1 1 1970 0)))
(defun get-timestamp (&optional (universal-time (get-universal-time)))
    "return unix timestamp"
    (universal-time-to-timestamp universal-time))
(defun universal-time-from-timestamp (timestamp)
    "unix timestamp convert to universal-time"
    (+
        (encode-universal-time 0 0 0 1 1 1970 0)
        timestamp))
(defun timestamp-to-string (timestamp)
    "return yyyymmddhhmiss"
    (multiple-value-bind 
        (second min hour day month year) 
        (decode-universal-time (universal-time-from-timestamp timestamp) -8)
		(format nil "~4,'0d~@{~2,'0d~}" year month day hour min second)))		
(defmacro get-today-date-string ()
    "return yyyymmddhhmiss"
	'(timestamp-to-string (get-timestamp (get-universal-time))))
(defun todaydate-string ()
	(multiple-value-bind (second min hour day month year) (decode-universal-time (get-universal-time))
		(format nil "~4,'0d~@{~2,'0d~}" year month day)))
(defun todaytime-string ()
	(multiple-value-bind (second min hour day month year) (decode-universal-time (get-universal-time))
		(format nil "~@{~2,'0d~}" hour min second)))
(defun todaydatetime-string ()
	(multiple-value-bind (second min hour day month year) (decode-universal-time (get-universal-time))
		(format nil "~4,'0d~@{~2,'0d~}" year month day hour min second)))
(defun offset-date (universal-time n-day)
	(multiple-value-bind (second min hour day month year) (decode-universal-time (+ universal-time (* n-day 86400)))
		(format nil "~4,'0d~@{~2,'0d~}" year month day)))

 

發佈了77 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章