java - 如何获取当前周和月的第一天?

标签 java android date

我有几个事件的日期,以 毫秒[1] 表示,我想知道当前周和当前月内的事件,但我不知道如何获取运行周的第一天(日/月/年)并将其转换为毫秒,与该月的第一天相同。

[1]Since January 1, 1970, 00:00:00 GMT

最佳答案

本周以毫秒为单位:

// get today and clear time of day
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0); // ! clear would not reset the hour of day !
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);

// get start of this week in milliseconds
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
System.out.println("Start of this week:       " + cal.getTime());
System.out.println("... in milliseconds:      " + cal.getTimeInMillis());

// start of the next week
cal.add(Calendar.WEEK_OF_YEAR, 1);
System.out.println("Start of the next week:   " + cal.getTime());
System.out.println("... in milliseconds:      " + cal.getTimeInMillis());

本月以毫秒为单位:

// get today and clear time of day
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0); // ! clear would not reset the hour of day !
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);

// get start of the month
cal.set(Calendar.DAY_OF_MONTH, 1);
System.out.println("Start of the month:       " + cal.getTime());
System.out.println("... in milliseconds:      " + cal.getTimeInMillis());

// get start of the next month
cal.add(Calendar.MONTH, 1);
System.out.println("Start of the next month:  " + cal.getTime());
System.out.println("... in milliseconds:      " + cal.getTimeInMillis());

关于java - 如何获取当前周和月的第一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2937086/

相关文章:

java - 将常规 JavaFX 节点添加到 FXML

java - 什么是 setBounds 以及如何使用它?

在调用选择图像的 Intent 之前,android 、刷新图像缩略图或 sd 卡

java - 在Android中使用按钮旋转图像

java - 可以通过 Java API 获取 Elasticsearch 索引的大小吗?

java - 我的代码中线性布局的父级是什么?

android - 如何从 sd 卡 android 获取所有音频文件

sql - 如何获取所选日期和前 n 天之间的所有日期列表?

javascript - 使用 Moment.js 比较时间

java - 比较转换 ISO8601 兼容日期与 Java 日期?