首页 > 编程语言 >Java最准确的获取当前一周开始时间和结束时间(格林威治时间)

Java最准确的获取当前一周开始时间和结束时间(格林威治时间)

时间:2023-04-10 12:01:21浏览次数:43  
标签:WEEK set Java 格林威治 long DAY 时间 calendar Calendar

获取星期日作为一周的第一天的起始时间和结束时间

public static long[] getCurrentWeekTimeFrame() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
//start of the week
calendar.add(Calendar.DAY_OF_WEEK, -(calendar.get(Calendar.DAY_OF_WEEK) - 1));
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

long startTime = calendar.getTimeInMillis();
//end of the week
calendar.add(Calendar.DAY_OF_WEEK, 6);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
long endTime = calendar.getTimeInMillis();
return new long[]{startTime, endTime};
}

 

获取星期一作为一周的第一天的起始时间和结束时间

 

public static long[] getCurrentWeekTimeFrame() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
//start of the week
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
calendar.add(Calendar.DAY_OF_YEAR,-1);
}
calendar.add(Calendar.DAY_OF_WEEK, -(calendar.get(Calendar.DAY_OF_WEEK) - 2));
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

long startTime = calendar.getTimeInMillis();
//end of the week
calendar.add(Calendar.DAY_OF_WEEK, 6);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
long endTime = calendar.getTimeInMillis();
return new long[]{startTime, endTime};
}

public static long[] getCurrentWeekTimeFrame() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
//start of the week
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
calendar.add(Calendar.DAY_OF_YEAR,-1);
}
calendar.add(Calendar.DAY_OF_WEEK, -(calendar.get(Calendar.DAY_OF_WEEK) - 2));
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

long startTime = calendar.getTimeInMillis();
//end of the week
calendar.add(Calendar.DAY_OF_WEEK, 6);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
long endTime = calendar.getTimeInMillis();
return new long[]{startTime, endTime};
}

标签:WEEK,set,Java,格林威治,long,DAY,时间,calendar,Calendar
From: https://www.cnblogs.com/dujl/p/17302492.html

相关文章

  • java8删除两个list中的重复元素
    publicstaticvoidmain(String[]args){List<Integer>months=Lists.newArrayList();months.add(1);months.add(2);months.add(3);months.add(4);List<Integer>dels=Lists.newArrayList();......
  • (之前的项目复习)我的Java项目实战--校园餐饮商户外卖系统02
    开发笔记二1.完善登录功能问题分析前面我们已经完成了后台系统的员工登录功能开发,但是还存在一个问题:用户如果不登录,直接访问系统首页面,照样可以正常访问。这种设计并不合理,我们希望看到的效果应该是,只有登录成功后才可以访问系统中的页面,如果没有登录则跳转到登录页面。那......
  • java去掉字符串前面的空格
    Java去掉字符串前面的空格可以使用trim()方法,例如:Stringstr="helloworld";str=str.trim();//去掉前面的空格System.out.println(str);//输出"helloworld"trim()方法会返回去掉前后空格的字符串副本,原字符串不会发生改变。如果要去掉字符串中间的空格......
  • Java开发:服务器上配置jdk环境变量后java命令正常但javac报错问题
    一、问题如下:在服务器上配置jdk环境变量时,java命令运行正常,javac报错如下:ErroroccurredduringinitializationofVM;java/lang/NoClassDefFoundError:java/lang/Object.没有找到基础类库,可以确定是缺少一些东西。查询资料发现,是jdk安装目录下缺少文件:jd......
  • 方法总结|金融时间序列联动相关及风险溢出
     在金融时间序列研究中,市场间的联动相关和风险溢出一直是热点方向。随着研究不断深入,方法也层出不穷,比如从收益率到波动率,从一阶矩到高阶矩,从静态不变到动态时变,从线性相关到非线性相关,从尾部对称到尾部非对称等等...... 1.收益率相关、均值溢出。 主要方法包括:ARIMA、协......
  • 前端格式化时间
    getTime(time){      vary=time.getFullYear()      varm=time.getMonth()+1      m=m<10?'0'+m:m      vard=time.getDate()      d=d<10?'0'+d:d      varh......
  • 用java找出两个集合中相同的元素和不通的元素
    用java找出两个集合中相同的元素和不通的元素假设有两个集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素:importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Set<Integer>A=newHashSet<>(Arrays.asList(1,2,3......
  • jmeter-有一定时间规律的性能场景
    一定时间规律性能场景设计例如钉钉打卡、OA系统,只有上下班的时候才会使用,或者美团外卖,都是有一个高峰时间段,其他时间段都是不太忙,零零散散的人再用UltimateThreadGroupStartThreadsCount线程数InitialDelay,sec初始化时间单位秒StatupTime,sec......
  • JavaScript
    JavaScript基础JavaScript的作用:表单动态校验(密码强度检测)(JS产生最初的目的)网页特效服务端开发(Node.js)桌面程序(Electron)App(Cordova)控制硬件-物联网(Ruff).游戏开发(cocos2d-js)JS的组成ECMAScriptECMAScript是由ECMA国际(原欧洲计算机制造商协会)......
  • Java面向对象多态
    多态概述Java多态是指同一种类型的对象,在不同的情况下有着不同的状态和行为。它是基于继承、重写和向上转型等特性实现的,多态是面向对象编程的三大特征之一,其他两个分别是封装和继承。Java多态包括以下三种方式方法重写(Override)子类可以对从父类继承的方法进行重写,以便根据子类的......