a) Chỉ định mốc thời gian, tính từ hiện tại và một khoảng thời gian đặt trước
Khoảng thời gian đặt trước thông qua biến BookMark ThoiGian2: {QUOTE
{SET ThoiGian1 {Time \@ HH:mm:ss}} {SET ThoiGian2 12:34:56}
{SET TongThoiGian{=({ThoiGian1 \@ HH}+{ThoiGian2 \@ HH})*3600+({ThoiGian1 \@ mm}+{ThoiGian2 \@ mm})*60+{ThoiGian1 \@ ss}+{ThoiGian2 \@ ss}}}
{=INT(TongThoiGian/86400) \# +0\;-0\;}
{=(MOD(ABS(INT(TongThoiGian/3600)+11);12)+1)*10000+INT((TongThoiGian- INT(TongThoiGian/3600)*3600)/60)*100+MOD(TongThoiGian;60) \# 0:00:00} {IF{=MOD(INT(TongThoiGian/3600);24)}< 12 \ a.m. \ p.m.}}
Sử dụng code trên sẽ có kết quả:+12:23:13 a.m. Nếu dùng code: {QUOTE
{SET ThoiGian1 {Time \@ HH:mm:ss}} {SET ThoiGian2 12:34:56}
{SET TongThoiGian{=({ThoiGian1 \@ HH}+{ThoiGian2 \@ HH})*3600+({ThoiGian1 \@ mm}+{ThoiGian2 \@ mm})*60+{ThoiGian1 \@ ss}+{ThoiGian2 \@ ss}}}
{=INT(TongThoiGian/86400) \# +0\;-0\;}
{=(MOD(ABS(INT(TongThoiGian/3600)+23);24)+1)*10000+INT((TongThoiGian- INT(TongThoiGian/3600)*3600)/60)*100+MOD(TongThoiGian;60) \# 00:00:00}}
Sẽ đưa kết quả là thời gian được định dạng kiểu quân sự là: +102:23:13
b) Sử dụng nhập thời gian từ hộp thoại nhập
Sử dụng code để nhấn F9, hiện hộp thoại nhập các dữ liệu cần thiết vào
Hình 1.18. Hộp thoại nhập khoảng thời gian thêm
Code sử dụng: {QUOTE
{ASK NgayBatDau “Nhập ngày bắt đầu, với định dạng dd/mm/yyyy, xin mời?” \d {DATE \@ “d/MM/yyyy HH:mm:ss”}}{ASK KhoangThoiGianThem “Nhập số giờ, phút, giây thêm theo định dạng hh:mm:ss?”}
{SET TongThoiGian{=({NgayBatDau \@ HH}+{KhoangThoiGianThem \@ HH})*3600+({NgayBatDau \@ mm}+{KhoangThoiGianThem \@
mm})*60+{NgayBatDau \@ ss}+{KhoangThoiGianThem \@ ss}}} {SET XeDich {=INT(TongThoiGian/86400)}}
{SET SoGio {=(MOD(ABS(INT(TongThoiGian/3600)+11);12)+1)}}
{SET SoPhut {=INT((TongThoiGian-INT(TongThoiGian/3600)*3600)/60)}} {SET SoGiay {=MOD(TongThoiGian;60)}}
{SET a{=INT((14-{NgayBatDau \@ M})/12)}} {SET b{={NgayBatDau \@ yyyy}+4800-a}} {SET c{={NgayBatDau \@ M}+12*a-3}} {SET d{NgayBatDau \@ d}} {SET jd{=d+INT((153*c+2)/5)+365*b+INT(b/4)-INT(b/100)+INT(b/400)- 32045+XeDich}} {SET e{=INT((4*(jd+32044)+3)/146097)}} {SET f{=jd+32044-INT(146097*e/4)}} {SET g{=INT((4*f+3)/1461)}} {SET h{=f-INT(1461*g/4)}} {SET i{=INT((5*h+2)/153)}} {SET dd{=h-INT((153*i+2)/5)+1}} {SET mm{=i+3-12*INT(i/10)}} {SET yy{=100*e+g-4800+INT(i/10)}} {SET ThuBDTA{NgayBatDau \@ “ddd”}}
{SET ThuBDTV{IF {ThuBDTA}=”Mon” “Thứ hai” {IF{ThuBDTA}=”Sun” “Chủ nhật” {IF{ThuBDTA}=”Tue” “Thứ ba” {IF{ThuBDTA}=”Wed” “Thứ tư”
{IF{ThuBDTA}=”Fri” “Thứ sáu” {IF{ThuBDTA}=”Sat” “Thứ bảy” “Thứ năm”}}}}}}} {SET ThuTA{quote “{dd}-{mm}-{yy}” \@ “ddd”}}
{SET ThuTV{IF {ThuTA}=”Mon” “Thứ hai” {IF{ThuTA}=”Sun” “Chủ nhật”
{IF{ThuTA}=”Tue” “Thứ ba” {IF{ThuTA}=”Wed” “Thứ tư” {IF{ThuTA}=”Fri” “Thứ sáu” {IF{thuTA}=”Sat” “Thứ bảy” “Thứ năm”}}}}}}}
{IF{={IF{={NgayBatDau \@ “dddd”}}=”!*” 0 1}+{IF{={NgayBatDau \@ “MMMM”}}=”!*” 0 1}+{IF{a}=”!*” 1
0}+{IF{=KhoangThoiGianThem}=”{KhoangThoiGianThem}” 0 1}}=0 “Nếu bắt đầu ngày {quote {ThuBDTV} } {NgayBatDau \@ “dd/MM/yyyy ‘lúc’ HH:mm:ss”} và độ xê dịch là {KhoangThoiGianThem \@ “HH’ giờ, ‘mm’ phút và ‘ss’ giây’”}, thì ngày và thời
gian mới là {quote {ThuTV}, } {QUOTE “{dd}-{mm}-{yy}
{SoGio}:{SoPhut}:{SoGiay}” \@ “dd/MM/yyyy’ vào ‘HH:mm:ss”}.” “Lỗi nhập sai dữ liệu!”}}
Kết quả:
Nếu bắt đầu ngày Thứ hai 22/02/2010 lúc 13:48:17 và độ xê dịch là 23 giờ, 20phút và 00 giây, thì ngày và thời gian mới là Thứ hai, 22/02/2010 vào 01:08:17.
Ghi chú:
Do file được biên dịch sang PDF, nên dữ liệu không chính xác vì không biên dịch các trường Word. Hãy sử dụng với Word để có kết quả chính xác.
Nguyễn Phương Thảo đang bán tại cửa hàng trang phục rẻ nhất Hà Nội ở