Delphi XE6 Android - 获取Android系统时间格式

时间:2014-06-26 22:38:25

标签: android delphi time system

有人能告诉我他们是否知道如何获得Android设备系统时间(12或24小时)?我已经搜索了很多,现在尝试导入DateFormat类以使Is24HourFormat函数返回True或False。我注意到在JAVA中调用时你使用'this' - 例如if(DateFormat.is24HourFormat(this)) - 但我不知道从Delphi调用这个函数时会引用什么' - 当我从Delphi中调用这个函数时我会得到一个线程错误我尝试获取默认适配器。这是我在Delphi中的定义:

Type

  JDateFormat = interface;
  JDateFormatClass = interface(JObjectClass)
  ['{05CE5465-2953-4CC3-9D9B-01D71E90F412}']
  end;

  [JavaSignature('android/text/format/DateFormat')]
  JDateFormat = interface(JObject)
  ['{D5C8CAD6-E717-4B95-89F1-A6FD0861B7DB}']
  function is24hourformat:boolean;
  end;

  TJDateFormat = class(TJavaGenericImport<JDateFormatClass, JDateFormat>) end;

.....

procedure TForm1.FormCreate(Sender: TObject);
var
l_x: JDateFormat;
begin
  l_x := TJDateFormat.Create;
  // determine the Android time format
  if not l_x.is24hourformat then
    timeedit1.Format := 'hh:mm:ss tt'
  else
    timeedit1.Format := 'hh:mm:ss';
  timeedit1.Text := timetostr(now);
end;

如果有人有一个更简单的想法,或者你知道如何解决我的问题。

谢谢!

PS这是函数的定义:

0 个答案:

没有答案