Android时间格式问题。我希望时间与p.m / a.m完全一样。格式代码

时间:2017-06-27 10:31:12

标签: java android simpledateformat

如何以编程方式在android中获取以下格式的时间?格式例如:“03:45 p.m”。默认情况下,我们使用简单的dateformat“hh:mm a”。但它的输出看起来像PM / AM。我希望时间与p.m / a.m完全一样。由于在三星Galaxy J7 prime有这种类型的默认时间和日期。请让我知道解决方案或我的问题有什么问题。提前谢谢......

我需要将时间戳提取到以下格式“03:45 p.m”。已准备好的功能但怀疑时间格式。而不是这个“hh:mm a”哪种格式必须使用?

2 个答案:

答案 0 :(得分:1)

您可以自己转换文字。像这样的Smth:

 private String getTime() {
    SimpleDateFormat sdf = new SimpleDateFormat("kk:mm a");
    String formated = sdf.format(new Date());
    String[] split = formated.split(" ");
    String amPm = split[1];
    String time;
    if(amPm.equals("PM")) {
        time = String.format("%s %s",split[0], "p.m.");
    } else {
        time = String.format("%s %s",split[0], "a.m.");
    }
    Log.e("MainActivity", "onClick: " + time);
    return time;
}

答案 1 :(得分:1)

您可以使用我使用的这个类。您需要将Date传递给构造函数和

PS C:\> docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                    NAMES
8bb4bdb3945e        login-service-swarm-v1       "java -jar -Dswarm..."   2 minutes ago       Up 2 minutes        0.0.0.0:8180->8180/tcp   blissful_knuth
PS C:\> docker exec -it 8bb4bdb3945e bash
root@8bb4bdb3945e:/# ls
bin  boot  dev  etc  home  keycloak.h2.db  keycloak.lock.db  keycloak.trace.db  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@8bb4bdb3945e:/# cd opt
root@8bb4bdb3945e:/opt# ls
keycloak.h2.db  keycloak.lock.db  keycloak.trace.db  login-service-swarm.jar