android - 为什么我得到一个日期而代码显示另一个
问题描述
我在我的移动应用程序中使用改造。要格式化日期,我使用 setDateFormat ("yyyy-MM-DD HH: mm: ss.S"),当我得到 mounth 时,它在代码和屏幕上没有正确显示
我尝试了不同的转换模式,但它们不起作用(MM、mm、MMM、MMMM)
val gson: Gson = GsonBuilder()
.setDateFormat("yyyy-MM-DD HH:mm:ss.S")
.setLenient()
.registerTypeAdapter(TypeOfPoint::class.java, TypeOfPointDeserializer())
.registerTypeAdapter(TypeOfStatus::class.java,TypeOfStatusDeserializer())
.create()
我得到 2019-07-05 10: 59: 31.000000 和代码 2019-01-05T10: 59: 31.000 + 0300
解决方案
在此函数中,您必须将日期作为字符串传递,它将以 Jan 01,2019 格式返回日期。您可以根据需要更改格式。
public static String formatDate(String date_s) {
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
form.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = form.parse(date_s);
} catch (ParseException e1) {
e1.printStackTrace();
}
SimpleDateFormat form1 = new SimpleDateFormat("MMM dd, yyyy"));
return form1.format(date);
}
推荐阅读
- python - 如何删除字符串
- reporting-services - 基于表达式的边框样式在 SSRS 2017 的 Excel (.xlsx) 导出中不起作用
- mysql - 通过脚本执行重新排列工作表布局以符合 sql 导入过程
- kendo-ui - 剑道 datePicker 在星期三禁用即将到来的周末
- c++ - 构建错误“没有用于调用 'sg_ofstream::open(const wchar_t*, std::ios_base::openmode&) 的匹配函数”
- powershell - 如何使用 txt 列表复制文件以定义文件名的开头
- c++ - 如何使用递归函数返回数组中整数的索引?
- java - 有没有办法检测手机指纹上的手指触摸?
- powershell - 无法替换字符串中的“$”
- java - Period.between 不包括 Java 中的最后一天