时间time如何转为汉字格式编码处理

Junsen0111 2011-11-09 09:43:16
请问一下:现在正在做 从PC发送日期时间到LED显示出来,
SendTime2Led(led_list[i], FormatDatetime(' hh:nn', now));
由于LED屏问题,显示时间数字时间比较小,现在如何把时间处理成汉字编码再转发过去LED屏呢?请赐教




...全文
359 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cntigercat 2011-11-17
  • 打赏
  • 举报
回复
楼主想要什么样的效果呀?
bambuz 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 lhylhy 的回复:]
Delphi(Pascal) code


xxx : array[0..9] of string=('0','1'




Delphi(Pascal) code


var
Hour, Min, Sec, MSec: Word;
time : TDateTime ;
begin
time := now;
DecodeTime(time, Hour, ……
[/Quote]
就是这个哟.
lhy 2011-11-16
  • 打赏
  • 举报
回复

xxx : array[0..9] of string=('0','1'



var
Hour, Min, Sec, MSec: Word;
time : TDateTime ;
begin
time := now;
DecodeTime(time, Hour, Min, Sec, MSec);
result:=xxx[Hour div 10]+xxx[Hour mod 10]+":"+xxx[Min div 10]+xxx[Min mod 10];
end;
Junsen0111 2011-11-16
  • 打赏
  • 举报
回复
呵呵~是需要全角的 0123,用DecodeTime具体咋样实现呢?然后查表?请具体一点吧~
lhy 2011-11-16
  • 打赏
  • 举报
回复
到底是需要全角0123还是中文零一二三呀?不过都能查表。
用DecodeTime然后查表简单一些。
ffwin 2011-11-16
  • 打赏
  • 举报
回复
才明白你的意思,得到字符串后,用替换的方法把半角的字符换成全用字符
ffwin 2011-11-16
  • 打赏
  • 举报
回复
FormatDateTime('yyyy"年"MM"月"dd"日"hh"时"mm"分"ss"秒"zzz"毫秒"', now);
smhilyyan 2011-11-16
  • 打赏
  • 举报
回复
楼主为什么不用DecodeTime这个方法啊??
Junsen0111 2011-11-16
  • 打赏
  • 举报
回复
谢谢楼上提醒哦~现在本人把代码show出来,看看有没有更好更简洁的写法,请高人指导~~
function timeToUnicode( ):String;
var
i: Integer;
sysTime, sTemp1, sTemp2, sTemp3, sTemp4 : String;
hour1,hour2,min1,min2 : Integer;
Const number : array[0..9] of string =('0','1','2','3','4','5','6','7','8','9');
begin
sysTime := FormatDatetime('hh:nn', now);
//分解时间
hour1 := strToInt( Copy(sysTime,1,1) );
hour2 := strToInt( Copy(sysTime,2,1) );
min1 := strToInt( Copy(sysTime,4,1) );
min2 := strToInt( Copy(sysTime,5,1) );

for i := 0 to 9 do
begin
if hour1 = i then
sTemp1 := number[i];
if hour2 = i then
sTemp2 := number[i];
if min1 = i then
sTemp3 := number[i];
if min2 = i then
sTemp4 := number[i];
end;

AppendStr( sTemp1, sTemp2 );
AppendStr( sTemp1, ' £º ' );

AppendStr( sTemp1, sTemp3 );
AppendStr( sTemp1, sTemp4 );

Result := Result + sTemp1;
end;
lhy 2011-11-11
  • 打赏
  • 举报
回复
弄个数组,内容是下标对应数字的中文,然后把数字转成中文。
Junsen0111 2011-11-11
  • 打赏
  • 举报
回复
什么??不明白哦?楼上的能否详细点?
我要得到的就是时和分啊!!但是得到是字符的形式,只占一个字节而已,我需要转为占两个字节的中文一样的字符串
lhy 2011-11-11
  • 打赏
  • 举报
回复
Hour是时Min是分
Junsen0111 2011-11-11
  • 打赏
  • 举报
回复
我的代码如下:
function decodetimeToWord: String;
var
Hour, Min, Sec, MSec: Word;
time : TDateTime ;
begin
time := strtotime(FormatDatetime('hh:nn', now));
DecodeTime(time, Hour, Min, Sec, MSec);
end;
但是如何返会一个String类型的时和分呢?以及中间两点,主要是要将'hh:nn'转为占两个字节的中文一样的字符串,请高手们指导指导。。。
lhy 2011-11-10
  • 打赏
  • 举报
回复
DecodeTime然后自己处理
funxu 2011-11-10
  • 打赏
  • 举报
回复
1 format里用-来区分年月日时分秒,然后就是字符串截取了
2 或者直接用函数分别获取也可以,方法很多,随便举个例子
DateTimeToString(s1,'hh',now);
s1就是小时
弘石 2011-11-10
  • 打赏
  • 举报
回复
在dateutil单元里,有yearof,monthof,dayof等获取各个值的函数,参数是datetime类型
弘石 2011-11-09
  • 打赏
  • 举报
回复
所有的数字转换成中文?
在网上找找数字转换成大写,有很多的
zhuang_bx 2011-11-09
  • 打赏
  • 举报
回复
首部 procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word); $[SysUtils.pas
功能 分解时间为时、分、秒、微妙
说明 <NULL>
参考 function SysUtils.DateTimeToTimeStamp
例子
///////Begin DecodeTime
procedure TForm1.Button1Click(Sender: TObject);
var
Hour, Min, Sec, MSec: Word;
begin
DecodeTime(Time, Hour, Min, Sec, MSec);
nm_wyh 2011-11-09
  • 打赏
  • 举报
回复
这玩意,自己写个函数就能截取。比如:
//取系统时间
SysDate := FormatDateTime('yyyymmddhhnnss',Now);
//分解时间
Year := Copy(SysDate,1,4);
Month:= Copy(SysDate,5,2);
Day := Copy(SysDate,7,3);
....
前提是你的时间格式一定要用FormatDateTiem格式化了。当然了还有其他系统函数也可以实现。但我懒的找了。
Junsen0111 2011-11-09
  • 打赏
  • 举报
回复
那在请教一下:如何把获得系统时间转为一个个将时、分、秒取出来呢?请赐教~

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧