Android 我的日期格式有什么问题?

Android 我的日期格式有什么问题?,android,date,calendar,Android,Date,Calendar,我正在尝试以这种格式获取日期“时间”:“2011年2月8日05:09pm”。到目前为止,我得到的是 Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat( "HH:mmaa MM/dd/yyyy"); holder.put("time", sdf.format(c.getTim

我正在尝试以这种格式获取日期“时间”:“2011年2月8日05:09pm”。到目前为止,我得到的是

Calendar c = Calendar.getInstance();
                SimpleDateFormat sdf = new SimpleDateFormat(
                        "HH:mmaa MM/dd/yyyy");

                holder.put("time", sdf.format(c.getTime()));
这就是结果

                "time":"21:28PM 08\/26\/2011"

为什么会发生这种情况?我能做些什么来修复它?谢谢

尝试将
HH:mmaa MM/dd/yyyyy
更改为
KK:mmaa MM/dd/yyyy
。(
KK
是上午/下午0-11点的小时数)

我想您需要

hh:mmaa MM/dd/yyyy
As
hh
是01-12范围内的12小时格式。我发现这是人类代表12小时值的典型方式。当然,如果您想要00-11,请按照MByD的建议使用KK

(大写形式是HH的24小时版本,但小写形式是kk的24小时版本,我不知道其原理是什么…)


如果您担心输出中的反斜杠,我怀疑这只是JSON逃逸。我很惊讶向前斜杠是必要的,但它不应该有任何伤害。

什么是
holder
-文本“出来”在哪里?是的,我很担心向前斜杠。我能做些什么来从JSON中删除它们,因为我觉得这会把我的工作搞砸吗program@Sean字体你是这样想的,还是你已经证明了?稍后是什么在解析数据?请注意,放在反斜杠中的不是SimpleDataFormat,而是任何“holder”。JSONObject holder=new JSONObject();我现在的问题是,当我尝试使用另一个JSON post函数检索日期时,我发送的日期看起来像“time”:“10:28PM 08\/26\/2011”,它显示为“time”:“07:14 PM 01/18/2038”,这没有意义,我正在试图弄清楚发生了什么on@Sean:你说的是“发送日期”-要做什么?我正在创建一个JSON发送到一个Web服务器,该服务器接受参数“time”、“time\u since\u epoch”、纬度和经度。因为当我把它放到JSON对象中时,唯一一个看起来错误的参数是日期,所以我认为我做错了什么。如果反斜杠没有造成任何伤害,也没有办法避免,那么我就不必担心了