生成时分秒为0的日期

本文详细介绍了如何使用Java中的Calendar类来设置特定日期和时间,包括如何将毫秒数设置为0,确保时间的精确性。
Calendar c = Calendar.getInstance(); 
c.set(2017, 11, 5, 0, 0, 0);
System.out.println(c.getTimeInMillis());

1512403200742
此种方式生成后,毫秒数不为0

Calendar c = Calendar.getInstance(); 
c.set(2017, 11, 5, 0, 0, 0);
c.set(Calendar.MILLISECOND, 0);
System.out.println(c.getTimeInMillis());

此种方式生成后,毫秒数为0
1512403200000

### 如何生成包含从 `00:00:00` 到 `23:59:59` 所有时分秒日期字符串 为了实现这一目标,可以通过循环遍历一天中的每个小时、分钟和秒钟,并将其组合成所需的格式。以下是基于 Java 的解决方案: #### 解决方案 在 Java 中,可以利用嵌套循环来逐一生成时间字符串。具体方法如下所示[^1]: ```java public class GenerateTimeStrings { public static void main(String[] args) { StringBuilder timeBuilder; for (int hour = 0; hour < 24; hour++) { // 遍历小时 for (int minute = 0; minute < 60; minute++) { // 遍历分钟 for (int second = 0; second < 60; second++) { // 遍历秒钟 timeBuilder = new StringBuilder(); // 添加小时部分并补零 if (hour < 10) { timeBuilder.append("0").append(hour); } else { timeBuilder.append(hour); } // 添加冒号及分钟部分并补零 timeBuilder.append(":"); if (minute < 10) { timeBuilder.append("0").append(minute); } else { timeBuilder.append(minute); } // 添加冒号及秒钟部分并补零 timeBuilder.append(":"); if (second < 10) { timeBuilder.append("0").append(second); } else { timeBuilder.append(second); } System.out.println(timeBuilder.toString()); // 输出时间字符串 } } } } } ``` 上述代码通过三重循环分别迭代小时、分钟和秒钟,并使用条件语句确保每一位都以两位数形式显示(即不足十位时前面补充零)。最终输出的时间字符串遵循标准的 `HH:mm:ss` 格式。 #### 关于其他语言的支持 如果考虑 C/C++ 实现,则需依赖其内置库函数完成类似功能。例如,C++ 可采用 `<iomanip>` 来控制流宽度以及填充字符[^3]。下面是一个简单的例子展示如何构建单个时间点字符串: ```cpp #include <iostream> #include <iomanip> void generateTimeString(int h, int m, int s){ std::cout << std::setfill('0') << std::setw(2) << h << ":" << std::setw(2) << m << ":" << std::setw(2) << s << "\n"; } int main(){ for(int i=0;i<24;i++) for(int j=0;j<60;j++) for(int k=0;k<60;k++) generateTimeString(i,j,k); return 0; } ``` 此程序同样运用三层循环结构依次打印出全天候每一时刻对应的字符串表达方式。 #### 总结 无论是选用何种高级编程语言,核心逻辑均围绕着逐级枚举各时段单位展开操作;同时注意保持统一的数据呈现样式以便后续进一步加工处理或直接应用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值