mysql 如何把一年中的第几天,比如第300天 ,转换成日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 如何把一年中的第几天,比如第300天 ,转换成日期相关的知识,希望对你有一定的参考价值。
先判断是不是润年,再考虑每个月几天,对1——12个月,逐步求和,依次拿天数和得到的和作比较。例如:求2011年66天是几号
1月:31天
1-2月:59天
1-3月:90天
。。。。
因为 59<66<90
所以为2011年3月(66-59)号追问
mysql中还是不知道怎么写,,新手哇~~~
参考技术A MySQL函数里有一个函数是MAKEDATE(year, day_of_year),给定年份数和天数返回一个日期,如果day_of_year小于1,即返回NULL。如:MAKEDATE(2010, 365) →‘2010-12-31’,
MAKEDATE(2010, 367) →'2011-01-02'
这个函数会考虑闰年的情况的
(编程题)输入年份,月份,日期,输出这是一年中的第几天
1 /** 2 *输入年份,月份,日期,输出这是一年中的第几天 3 *@author 范建志 4 *@version v1.0 5 */ 6 import java.util.Scanner; 7 class PrintDay{ 8 public static void main(String[]args){ 9 //创建键盘录入对象 10 Scanner sc = new Scanner(System.in); 11 //录入年月日 12 System.out.println("请输入年份:"); 13 int year = sc.nextInt(); 14 System.out.println("请输入月份:"); 15 int month = sc.nextInt(); 16 System.out.println("请输入日期:"); 17 int day = sc.nextInt(); 18 int count = 0; 19 for(int i=1;i<month;i++){ 20 //定义一个变量确定每月有多少天 21 int days; 22 switch(i){ 23 case 1: 24 case 3: 25 case 5: 26 case 7: 27 case 8: 28 case 10: 29 case 12: 30 days=31; 31 break; 32 case 2: 33 if((year%4==0 && year%100!=0)||(year%400==0)){ 34 days=29; 35 }else{ 36 days=28; 37 } 38 break; 39 case 4: 40 case 6: 41 case 9: 42 case 11: 43 days=30; 44 break; 45 default: 46 days=30; 47 break; 48 } 49 //累计以往月份所有天数 50 count +=days; 51 } 52 //计算以往月份所有天数+当月的天数 53 count = count+day; 54 //输出语句 55 System.out.println(year+"年"+month+"月"+day+"日是今年的第"+count+"天"); 56 } 57 }
以上是关于mysql 如何把一年中的第几天,比如第300天 ,转换成日期的主要内容,如果未能解决你的问题,请参考以下文章