目前我正在使用以下代码根据用户的区域设置创建日期时间字符串。
Calendar todayC = Calendar.getInstance() ;
Date today = todayC.getTime();
return today.toLocaleString();
这将返回以下格式的字符串(每种语言环境都不同):
我已将这些字符串保存在数据库中,现在需要按日期对数据库进行排序。 基于这些刺痛的排序可能并不容易,所以我的问题是:
如何将这些字符串转换为时间戳?
答案 0 :(得分:0)
您可以使用更简单的long
值转换日期值:
Calendar todayC = Calendar.getInstance() ;
Date today = todayC.getTime();
long longValue = today.getTime();
return longValue;
您可以直接返回long
值,也可以使用返回String
值的特定格式转换日期值:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar todayC = Calendar.getInstance() ;
Date today = todayC.getTime();
String stringValue = sdf.format(today);
return stringValue;
我希望它很有用。
答案 1 :(得分:0)
您应该将日期中的long
值(自纪元以来毫秒)存储在数据库中,并按这些值排序。当您确实需要向用户显示日期值时,请使用long值创建日期对象,并按照您希望的方式对其进行格式化。数据库设计用于存储数据,而不是标签。
答案 2 :(得分:0)
如果可能,我可能会将时间戳保留为数据库中的日期,并在您想要显示时使用区域设置。 它将更加一致,日期将更容易使用。