首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql查询一周内的数据,解决一周的起始日期是从星期日(星期天|周日|周天)开始的问题

    前言 今天又遇到很坑的问题了,因为外国友人每一周的起始日期是周日,跟我们的不一样,我们每一周的起始日期是星期一,这样导致我要用mysql统计一周的数据的时候,对于我们来说,查询的记录包括:上周日的记录...+本周的数据到星期六 这样的数据,这就不符合我们的要求,把上周日的数据也统计进来了。...所以也是找了好久的资料,才终于解决 一、问题发现: 默认我一开始写的测试查询本周上周数据的语句是这样的: #查询本周 select A.sushenum,cast(A.dfdata as DECIMAL...大家可以很明显的看到2018年12月2日的记录也查出来了,12月2日是星期日。为了让大家更直观的看,我把12月的月份截出来 ? 所以这样查询出来的记录,对于我们来说是有问题的。接下来教大家解决办法。...从上面YEARWEEK()函数API可以知道,还有mode这个字段是可以自己设置一周是从星期几开始的,不写的话默认是星期日为一周的开始日期,这里为了适用我们的系统,将星期一设置为一周的开始日期,我们就给

    4.2K21

    java获取当前日期和时间(各种方法对比)

    从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。...其中传入的主要参数为: HOUR_OF_DAY 一天中某个小时; DAY_OF_WEEK 一个星期中的某天; DAY_OF_MONTH 一个月中的某天; DAY_OF_YEAR 当前年中的天数;...WEEK_OF_MONTH 当前月中的星期数; WEEK_OF_YEAR 当前年中的星期数; 二、使用 1、获取当前时间的毫秒值 System.currentTimeMillis() long timeNow...中格式化字符的含义 5、YYYY与yyyy区别 日期格式化时,yyyy表示当天所在的年,而大写的YYYY代表是week in which year(JDK7之后引入的概念),意思是当天所在的周属于的年份,一周从周日开始...(本周跨越了2017年和2018年) 三、JDK1.8中Date/Time API使用 Java 8提供了一个全新的API,用以替换java.util.Date和java.util.Calendar。

    4.1K20

    基础篇:JDK8的日期处理API-必知必备

    jdk8提供了新的时间API,在java.time包里的类是不可变且线程安全的,它和Joda是同一个作者实现的,因此借鉴了Joda很多特点,如果你用习惯Joda,可以很方便地切换到java.time类的使用...关注公众号,一起交流,微信搜一搜: 潜行前行 java.time类的简单介绍 Date和time做下区分,Date(日期)的单位是年月日。...dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); dateTimeFormatter = dateTimeFormatter.withZone...(1, 7)) //以每月的第一天为星期一,然后计算当天是一周的第几天 ALIGNED_DAY_OF_WEEK_IN_YEAR("AlignedDayOfWeekInYear", DAYS...previous(DayOfWeek dayOfWeek) //如果当前星期数和dayOfWeek不一样,则设置时间为上周的星期几-dayOfWeek public static TemporalAdjuster

    3K10

    Java8新特性:新的时间和日期类库

    对日期的计算方式繁琐,而且容易出错,因为月份是从0开始的,从Calendar中获取的月份需要加一才能表示当前月份。...localDate.getDayOfMonth(); // 月份中的第几天:4 DayOfWeek dayOfWeek = localDate.getDayOfWeek(); // 一周的第几天...interface TemporalAdjuster { Temporal adjustInto(Temporal temporal); } 比如给定一个日期,计算该日期的下一个工作日(不包括星期六和星期天...类用于处理日期格式化操作,它被包含在java.time.format包中,Java 8的日期类有一个format()方法用于将日期格式化为字符串,该方法接收一个DateTimeFormatter类型参数...(DateTimeFormatter.ofPattern("今天是:YYYY年 MMMM DD日 E", Locale.CHINESE)); // 今天是:2017年 一月 05日 星期四 同样,日期类也支持将一个字符串解析成一个日期对象

    2K10

    如何解决 Java 中 `YYYY-MM-dd` 导致的跨年日期显示错误?深度剖析 Java 中 yyyy vs YYYY 的区别,揭秘 ISO-8601 周年制背后的玄机,并给出多种规避方案

    ; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class...周一为一周的第一天,周日为最后一天。 2019-12-31 是周二,但这周是跨年周(2019 年的最后一周有 6 天在 2019 年,1 天在 2020 年)。...按 ISO 规则,这一周 归属下一年(2020),因此 YYYY 会输出 2020。...4.1 ISO 周年示例 日期 星期 周编号 周年(YYYY) 公历年(yyyy) 2019-12-29 日 52 2019 2019 2019-12-30 一 01 2020 2019 2019-12...六、Java 8+ 推荐写法 使用 java.time API,显式区分公历年和周年制: import java.time.*; import java.time.format.DateTimeFormatter

    41410

    JAVA8实战 - 日期API

    JAVA8实战 - 日期API 前言 这一节我们来讲讲JAVA8的日期类,源代码的作者其实就是Joda-Time,所以可以看到很多代码的API和Joda类比较像。...= parse1.getDayOfYear(); System.out.println("getDayOfYear => " + dayOfYear); // 获取那一周...next / previous 返回后一个/前一个给定的星期几 nextOrSame / previousOrSame 返回后一个/前一个给定的星期几,如果这个值满足条件,直接返回 DateTimeFormatter...获取LocalDateTime StackFlow地址:解析LocalDateTime(Java 8)时,无法从TemporalAccessor获取LocalDateTime ❞ DateTimeParseException...一些小坑 参考了下面的异常日志,根本的原因是DateTimeFormatter格式化没有HH选项,这也是比较坑的地方 java.time.format.DateTimeParseException:

    1.9K30

    Java基础(十七):日期时间API

    GMT 以来此 Date 对象表示的毫秒数 toString(): 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天...指定的格式创建一个对象 格式化: public String format(Date date):方法格式化时间对象date 解析: public Date parse(String source):从给定字符串的开始解析文本...calendar.get(Calendar.DAY_OF_MONTH)); } 二、JDK8:新的日期时间API 1、为什么会有新的时间API 可变性:像日期和时间这样的类应该是不可变的 偏移性:Date中的年份是从1900...plusHours() 向当前对象添加几天、几周、几个月、几年、几小时 minusMonths() / minusWeeks()/minusDays()/minusYears()/minusHours() 从当前对象减去几月...Timezone.getTimeZone(id) timeZone.toZoneId() java.time.format.DateTimeFormatter与java.text.DateFormat

    59610

    java各个时间类总结归纳,最全一篇

    相信一开始接触java的小伙伴一定被Calendar的强大征服过,但是用久了慢慢地我们会发现其实这个类并没有想象中那么强大,首先一个问题就是它并不支持时区,其次它也不是线程安全的。...比较头疼的一个事情就是java8没有针对Instant提供一个可供自定义的格式化类,所以这边我的解决方法是转换成LocalDateTime,再使用DateTimeFormatter来完成格式化。...LocalDate一周是从周一开始计数对应的value值为1,周日结束对应的value值为7。...而Calendar一周是从周日开始计数对应的value值为1,周六结束对应的value为7,相比较下个人觉得LocalDate更加合理和好用一些。...之前我们讲过java.text.SimpleDateFormat可以自定义格式化时间格式,但是他并不是线程安全的类,所以java8开始配合LocalDateTime提供了java.time.format.DateTimeFormatter

    79120

    程序员必备:Java日期处理的十个坑

    因为YYYY是基于周来计算年的,它指向当天所在周属于的年份,一周从周日开始算起,周六结束,只要本周跨年,那么这一周就算下一年的了。正确姿势是使用yyyy格式。 ?...: Text 'Wed Mar 18 10:00:00 2020' could not be parsed at index 0 at java.time.format.DateTimeFormatter.parseResolved0...(DateTimeFormatter.java:1949) at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851...(SynchronizedTest.java:19) 解析: DateTimeFormatter 这个类默认进行本地化设置,如果默认是中文,解析英文字符串就会报异常。...1986年4月,中国中央有关部门发出“在全国范围内实行夏时制的通知”,具体作法是:每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时。(1992年起,夏令时暂停实行。)

    1.7K20

    Java日期处理易踩的十个坑

    因为YYYY是基于周来计算年的,它指向当天所在周属于的年份,一周从周日开始算起,周六结束,只要本周跨年,那么这一周就算下一年的了。正确姿势是使用yyyy格式。      ...: Text 'Wed Mar 18 10:00:00 2020' could not be parsed at index 0      at java.time.format.DateTimeFormatter.parseResolved0...(DateTimeFormatter.java:1949)      at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java...(SynchronizedTest.java:19)      解析:      DateTimeFormatter 这个类默认进行本地化设置,如果默认是中文,解析英文字符串就会报异常。...1986年4月,中国中央有关部门发出“在全国范围内实行夏时制的通知”,具体作法是:每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时。(1992年起,夏令时暂停实行。)

    1.6K00
    领券