java - 将日期时间转换为字符串,时间错误

标签 java android datetime format

我在我的 android 应用程序(java)中这样做:

String sdt_ = DateFormat.format("yyyyMMdd  HH:mm", dt_).toString();

但是我明白了

01-16 14:31:13.308: D/ThS(25810): dt_ = Wed Jan 16 13:28:00 GMT+00:00 2013
01-16 14:31:23.758: D/ThS(25810): sdt_ = 20130116  HH:28

如果我将 HH 更改为 hh 我会得到这个

sdt_ = 20130116  01:28

但我需要这个

sdt_ = 20130116  13:28

最佳答案

我不知道,你的代码有什么问题,但这段代码对我有用:

DateFormat df = new SimpleDateFormat("yyyyMMdd  HH:mm");
String sdt = df.format(new Date(System.currentTimeMillis()));
System.out.println(sdt);

编辑:

后来我发现您的原始代码应该适用于此:

String sdt_ = DateFormat.format("yyyyMMdd  kk:mm", dt_).toString();

显然,android.text.format.DateFormat 不使用“H”约束而是使用“k”代替它!有关详细信息,请参阅此问题:How to set 24-hours format for date on java?

关于java - 将日期时间转换为字符串,时间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361191/

相关文章:

java - 生成 "_ _ _ "的方法仅返回 "_ "

java - R.java 包含错误的资源指针

android - 将 fragment 放入另一个包含选项卡的 fragment 中?

datetime - 在Groovy中以小时/分钟为单位递增日期对象

c# - 如何计算给定 2 个日期的周数?

java - 如何检查数组与参数的值是否相同?

java - 如何调整ScrollView中的Banner广告

android - 使用 Gradle 将应用程序模块依赖项添加到 Android Studio 中的另一个应用程序模块中

javascript - date.setHours(-1) 的正确行为是什么?

java - 单击具有内部组件的 JPanel