rightNow.getTimeInMillis()做减法
时间: 2024-03-09 11:49:14 浏览: 26
`rightNow.getTimeInMillis()` 返回当前时间的毫秒数,我们可以利用这个方法来进行时间的计算。
如果要计算两个时间之间的时间差,可以将两个时间的毫秒数相减。例如:
```
Calendar rightNow = Calendar.getInstance();
long currentTimeMillis = rightNow.getTimeInMillis(); // 获取当前时间的毫秒数
// 假设有一个时间戳为 1612345678900 的时间
long timestamp = 1612345678900L;
long diff = currentTimeMillis - timestamp; // 计算当前时间与指定时间的毫秒差
System.out.println("距离指定时间已过去:" + diff / 1000 + "秒"); // 将毫秒转换为秒并输出
```
上述代码中,我们获取了当前时间的毫秒数,并假设有一个时间戳为 `1612345678900` 的时间。然后通过计算两个时间的毫秒差,得到距离指定时间已经过去的秒数,并最终输出结果。需要注意的是,因为 `rightNow.getTimeInMillis()` 和时间戳都是毫秒级别的精度,所以需要将毫秒数除以1000来将其转换为秒。
相关问题
Calendar midnight = (Calendar) sunsetCal.clone(); midnight.add(Calendar.MILLISECOND, (int) ((sunriseCal.getTimeInMillis() - sunsetCal.getTimeInMillis()) / 2)); 将得出的结果转为24小时制
要将得到的时间转换为24小时制,你可以使用`SimpleDateFormat`类将`midnight`对象转换为所需的时间格式。以下是一个示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建Calendar对象
Calendar sunsetCal = Calendar.getInstance();
Calendar sunriseCal = Calendar.getInstance();
// 设置日落时间和日出时间(这里只是示例)
sunsetCal.set(Calendar.HOUR_OF_DAY, 18);
sunsetCal.set(Calendar.MINUTE, 0);
sunriseCal.set(Calendar.HOUR_OF_DAY, 6);
sunriseCal.set(Calendar.MINUTE, 0);
// 计算午夜时间
Calendar midnight = (Calendar) sunsetCal.clone();
midnight.add(Calendar.MILLISECOND, (int) ((sunriseCal.getTimeInMillis() - sunsetCal.getTimeInMillis()) / 2));
// 将时间转换为24小时制
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String midnight24Hr = sdf.format(midnight.getTime());
Log.d("MainActivity", "午夜时间(24小时制):" + midnight24Hr);
}
}
```
上述代码将打印出午夜时间(24小时制),例如:"00:00"。你可以根据需要自定义时间格式,通过修改`SimpleDateFormat`的模式字符串来实现。
Calendar.getInstance().getTimeInMillis()-含义
Calendar.getInstance().getTimeInMillis() 表示获取当前时间的时间戳,即距离1970年1月1日 00:00:00 GMT的毫秒数。具体来说,调用Calendar.getInstance()方法可以获取一个Calendar对象,然后通过调用其getTimeInMillis()方法可以获取该对象所代表的时间的时间戳。时间戳是一个长整型数值,它表示从1970年1月1日 00:00:00 GMT到当前时间所经过的毫秒数。例如,如果当前时间是2022年1月1日 12时30分00秒,那么Calendar.getInstance().getTimeInMillis()的返回值将是一个大约等于 1641034200000 的长整型数值,它表示距离1970年1月1日 00:00:00 GMT已经过去了1641034200000毫秒。
阅读全文