java写个工具类,输入时间戳,返回格式日期,格式yyyy/MM/dd
时间: 2023-08-16 15:07:12 浏览: 163
好的,您可以参考以下的Java代码实现:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtils {
public static String timestampToDate(long timestamp) {
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
return sdf.format(date);
}
}
```
使用方法:
```java
long timestamp = 1577808000000L; // 2020-01-01 00:00:00
String date = DateUtils.timestampToDate(timestamp);
System.out.println(date); // 输出:2020/01/01
```
在上面的代码中,我们定义了一个 `DateUtils` 工具类,其中 `timestampToDate` 方法可以将一个时间戳转换为指定格式的日期字符串。在方法内部,我们先创建一个 `java.util.Date` 对象,然后使用 `SimpleDateFormat` 类来格式化日期字符串,最后返回格式化后的字符串。
相关问题
java写一个工具类,输入yyyy-MM-dd格式的时间,返回输入时间月份的开始时间戳和结束时间戳,时间戳为毫秒
可以使用Java提供的时间类库来编写一个工具类来实现此功能,具体的代码如下所示:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
/**
* 获取指定日期的月份开始时间戳
*
* @param dateStr 日期字符串,格式为yyyy-MM-dd
* @return 月份开始时间戳,单位为毫秒
* @throws ParseException 解析异常
*/
public static long getMonthStartTime(String dateStr) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTimeInMillis();
}
/**
* 获取指定日期的月份结束时间戳
*
* @param dateStr 日期字符串,格式为yyyy-MM-dd
* @return 月份结束时间戳,单位为毫秒
* @throws ParseException 解析异常
*/
public static long getMonthEndTime(String dateStr) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
return calendar.getTimeInMillis();
}
}
```
这个工具类中,包含了两个静态方法,分别用于获取指定日期的月份开始时间戳和月份结束时间戳。在方法实现中,我们首先使用SimpleDateFormat类来解析传入的日期字符串,然后使用Calendar类来计算出月份的开始时间戳和结束时间戳。最后,我们将计算出来的时间戳转化为毫秒,并返回给调用者即可。
使用示例代码如下所示:
```java
public class Test {
public static void main(String[] args) throws ParseException {
String dateStr = "2022-05-15";
long monthStartTime = DateUtil.getMonthStartTime(dateStr);
long monthEndTime = DateUtil.getMonthEndTime(dateStr);
System.out.println("月份开始时间戳:" + monthStartTime);
System.out.println("月份结束时间戳:" + monthEndTime);
}
}
```
以上代码将输出指定日期所在月份的开始时间戳和结束时间戳,单位均为毫秒。
java写一个工具类,输入yyyy-MM-dd格式的时间,返回输入时间季度的开始时间戳和结束时间戳,时间戳为毫秒
好的,我给您编写一个工具类,具体实现如下:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
/**
* 获取时间戳的方法
*
* @param dateStr 时间字符串,格式为"yyyy-MM-dd"
* @param type 1表示开始时间戳,2表示结束时间戳
* @return 时间戳(毫秒)
*/
public static Long getTime(String dateStr, int type) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 获取年份
int year = calendar.get(Calendar.YEAR);
// 获取月份
int month = calendar.get(Calendar.MONTH) + 1;
// 计算季度
int quarter = (int) Math.ceil(month / 3.0);
// 获取季度开始月份
int startMonth = (quarter - 1) * 3 + 1;
// 获取季度结束月份
int endMonth = startMonth + 2;
// 设置开始时间戳
if (type == 1) {
calendar.set(year, startMonth - 1, 1, 0, 0, 0);
} else { // 设置结束时间戳
calendar.set(year, endMonth - 1, 1, 23, 59, 59);
// 获取月份的最大天数
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 设置日期为月份的最后一天
calendar.set(Calendar.DAY_OF_MONTH, maxDay);
}
return calendar.getTimeInMillis();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String dateStr = "2022-09-10";
Long startTimeStamp = getTime(dateStr, 1);
Long endTimeStamp = getTime(dateStr, 2);
System.out.println("季度开始时间戳:" + startTimeStamp);
System.out.println("季度结束时间戳:" + endTimeStamp);
}
}
```
该工具类中的 `getTime` 方法接收两个参数,第一个参数是时间字符串,格式为"yyyy-MM-dd",第二个参数是一个整数,表示要获取季度的开始时间戳还是结束时间戳,1表示开始时间戳,2表示结束时间戳。方法会先将时间字符串转换成 `Date` 类型,然后获取年份、月份和季度等信息,计算季度开始月份和结束月份,最后根据参数类型设置时间戳。调用 `getTime` 方法,即可获取指定时间所在季度的开始时间戳和结束时间戳。
阅读全文