如何在给定输入的 Java 中自定义日期格式
How can i customize date format in Java given inputs
我想以“dd/mm/yyyy hh:mm”格式写入 excel 文件日期,例如
2022 年 3 月 12 日 08:30
问题是我将所有这些值作为参数..
我存储在数据库中的字段是:
days : integer
month : integer
year:integer
time : float (example 08.00)
我的目标是检索所有这些,我想合并并得到结果“dd/mm/yyyy hh:mm”。
我可以将它们组合起来创建那个日期格式吗?
我问这个是因为如果我在 excel 中将其写为字符串,那么该类型可能会导致 excel 图表等出现问题。
为什么不为完整时间存储一个 long ("bigint")?它精确到毫秒并且不会在下一代中溢出。您可以使用 System.currentTimeMillis()
获取此时间并使用时间 类,例如 Date
/ LocalDateTime
。他们有一切的方法。
用你的方法:
hour
:
- 将您的
time
舍入到 0
。
minute
:
- 从
time
中减去 hour
。
- 现在您的
minute
值从 0
(含)到 1
(不含)。
- 乘以
60
得到0
(含)到60
(不含)的值。
所以结果是这样的:
int hour = (int) time;
int minute = (int) (time - hour * 60)
String timeString = days + "/" + month + "/" + year + " " + hour + ":" + minute;
我想以“dd/mm/yyyy hh:mm”格式写入 excel 文件日期,例如 2022 年 3 月 12 日 08:30
问题是我将所有这些值作为参数.. 我存储在数据库中的字段是:
days : integer
month : integer
year:integer
time : float (example 08.00)
我的目标是检索所有这些,我想合并并得到结果“dd/mm/yyyy hh:mm”。
我可以将它们组合起来创建那个日期格式吗? 我问这个是因为如果我在 excel 中将其写为字符串,那么该类型可能会导致 excel 图表等出现问题。
为什么不为完整时间存储一个 long ("bigint")?它精确到毫秒并且不会在下一代中溢出。您可以使用 System.currentTimeMillis()
获取此时间并使用时间 类,例如 Date
/ LocalDateTime
。他们有一切的方法。
用你的方法:
hour
:
- 将您的
time
舍入到0
。
minute
:
- 从
time
中减去hour
。- 现在您的
minute
值从0
(含)到1
(不含)。
- 现在您的
- 乘以
60
得到0
(含)到60
(不含)的值。
所以结果是这样的:
int hour = (int) time;
int minute = (int) (time - hour * 60)
String timeString = days + "/" + month + "/" + year + " " + hour + ":" + minute;