【Java/DateTime】日期时间与字符串间的转化

1.由日期时间转化成字符串

Date date = new Date();
Format formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString=formatter.format(date);

上述代码使用的是SimpleDateFormat的format函数

 

2.由字符串转化成日期时间

String dateStr1="20141216";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date1 = sdf.parse(dateStr1);

上述代码使用的是SimpleDateFormat的parse函数。

 

3.得到几天前的日期

    public static String getDateBefore(Date d, int day) {
        Calendar now = Calendar.getInstance();
        now.setTime(d);
        now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
        
        Format formatter = new SimpleDateFormat("yyyy-MM-dd");
        return formatter.format(now.getTime());
    }

 

4.得到一个月的第一天,这个比较简单

String endDate="2014-12-22";
String[] arr=endDate.split("-");
String startDate=arr[0]+"-"+arr[1]+"-"+"01";

 

5.得到一周的第一天

复制代码
String newEndDate="2014-12-22";

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date date=fmt.parse(newEndDate);
Calendar c=Calendar.getInstance();
c.setTime(date);
int weekday=c.get(Calendar.DAY_OF_WEEK);
            
String startDate=DateTimeUtil.getDateBefore(date, weekday-1);
复制代码

 

posted @   逆火狂飙  阅读(348)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示