输入年份,和这个年份的第几天,转成年月日。

  1 var year = 2016; //年份
  2 var days = 170; //第几天
  3 var reminder = 0;
  4
  5 function days2month_day(year, days) {
  6     "use strict";
  7     var month = "1月"; //默认1月
  8     var day = "1日";
  9     //闰年 1月31  2月29 3月31 4月30 5月31 6月30 7月31 8月31 9月30 10月31 11月30 12月31
 10     if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {
 11
 12         if (days - 31 <= 0) {
 13             month = "1月";
 14             reminder = 31 - days;
 15             day = "" + reminder + "日";
 16         } else if (days - 60 <= 0) {
 17             month = "2月";
 18             reminder = 29 - (days - 31);
 19             day = "" + reminder + "日";
 20
 21         } else if (days - 91 <= 0) {
 22             month = "3月";
 23             reminder = 31 - (days - 60);
 24             day = "" + reminder + "日";
 25         } else if (days - 121 <= 0) {
 26             month = "4月";
 27             reminder = 30 - (days - 91);
 28             day = "" + reminder + "日";
 29
 30         } else if (days - 152 <= 0) {
 31             month = "5月";
 32             reminder = 31 - (days - 121);
 33             day = "" + reminder + "日";
 34
 35         } else if (days - 182 <= 0) {
 36             month = "6月";
 37             reminder = 30 - (days - 152);
 38             day = "" + reminder + "日";
 39
 40         } else if (days - 213 <= 0) {
 41             month = "7月";
 42             reminder = 31 - (days - 182);
 43             day = "" + reminder + "日";
 44
 45         } else if (days - 244 <= 0) {
 46             month = "8月";
 47             reminder = 31 - (days - 213);
 48             day = "" + reminder + "日";
 49
 50         } else if (days - 274 <= 0) {
 51             month = "9月";
 52             reminder = 30 - (days - 244);
 53             day = "" + reminder + "日";
 54
 55         } else if (days - 305 <= 0) {
 56             month = "10月";
 57             reminder = 31 - (days - 274);
 58             day = "" + reminder + "日";
 59
 60         } else if (days - 335 <= 0) {
 61             month = "11月";
 62             reminder = 30 - (days - 305);
 63             day = "" + reminder + "日";
 64
 65         } else if (days - 366 <= 0) {
 66             month = "12月";
 67             reminder = 31 - (days - 335);
 68             day = "" + reminder + "日";
 69         }
 70
 71
 72     }
 73     else {
 74         //平年 2月28天
 75         if (days - 31 <= 0) {
 76             month = "1月";
 77             reminder = 31 - days;
 78             day = "" + reminder + "日";
 79         } else if (days - 59 <= 0) {
 80             month = "2月";
 81             reminder = 28 - (days - 31);
 82             day = "" + reminder + "日";
 83
 84         } else if (days - 90 <= 0) {
 85             month = "3月";
 86             reminder = 31 - (days - 59);
 87             day = "" + reminder + "日";
 88         } else if (days - 120 <= 0) {
 89             month = "4月";
 90             reminder = 30 - (days - 90);
 91             day = "" + reminder + "日";
 92
 93         } else if (days - 151 <= 0) {
 94             month = "5月";
 95             reminder = 31 - (days - 120);
 96             day = "" + reminder + "日";
 97
 98         } else if (days - 181 <= 0) {
 99             month = "6月";
100             reminder = 30 - (days - 151);
101             day = "" + reminder + "日";
102
103         } else if (days - 212 <= 0) {
104             month = "7月";
105             reminder = 31 - (days - 181);
106             day = "" + reminder + "日";
107
108         } else if (days - 243 <= 0) {
109             month = "8月";
110             reminder = 31 - (days - 212);
111             day = "" + reminder + "日";
112
113         } else if (days - 273 <= 0) {
114             month = "9月";
115             reminder = 30 - (days - 243);
116             day = "" + reminder + "日";
117
118         } else if (days - 304 <= 0) {
119             month = "10月";
120             reminder = 31 - (days - 273);
121             day = "" + reminder + "日";
122
123         } else if (days - 334 <= 0) {
124             month = "11月";
125             reminder = 30 - (days - 304);
126             day = "" + reminder + "日";
127
128         } else if (days - 365 <= 0) {
129             month = "12月";
130             reminder = 31 - (days - 334);
131             day = "" + reminder + "日";
132         }
133
134
135     }
136     return "" + year + "年" + month + day;
137 }
138
139 var year_month_day = days2month_day(2016, 170);
140 console.log(year_month_day);
时间: 2024-10-14 08:05:20

输入年份,和这个年份的第几天,转成年月日。的相关文章

jQuery EasyUI 下拉菜单获取日期,最高年份为当前年份,最低年份为当前年份向前推10年

http://blog.csdn.net/wangjingjing1014/article/details/16885341 <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><body>  <select class="ea

【VBA编程】03.判断输入年份是否是闰年

通过输入月份,判断是否是闰年 [代码区域] Sub 判断闰年() Dim year As Integer '用于保存输入的年份 year = CInt(InputBox("请输入需要判断的年份:", "判断闰年")) '输入年份 If year Mod 4 = 0 And year Mod 100 <> 0 Then MsgBox "" & "是一个闰年", vbOKOnly, "判断闰年&quo

判断输入年份是否为闰年的另一种方法

最近,我在网上看到了一道题目:输入一个从1901年开始到今年截止的年份,判断该年份是否为闰年? 对于这个题目,大家应该不会陌生,很多人在学校就应该已经见过了.通常的做法是判断输入的年份是否满足下列两个条件之一: 1) 能够被4整除但不能被100整除. 2) 能够被400整除. 如果满足两个条件中的任意一个,那么该年份就为闰年. 程序流程如下图所示: 程序代码如下: 现在,我们换一种思路来考虑.1901年开始到今年截止的年份中,闰年为1904.1908.1912等等,它们之间相差4年.这样,我们就

SwitchDemo(1).java【输入年份和月份,判断某年某月有多少天】

//课堂习题:输入年份和月份,判断某年某月有多少天 import java.util.Scanner; public class SwitchDemo{ public static void main(String [] args){ Scanner input=new Scanner(System.in); System.out.print("请输入需要查询的年份:"); int year=input.nextInt(); System.out.print("请输入需要查询

mysql日期函数 当前日期 curdate() , 当前年 year(curdate()), 取date的年份 year(date) ,取date的月份 month(date)

获取系统当前日期时间: sysdate() 获取系统当前日期:curdate() 获取系统当前时间:curtime() 获取给定日期的年份: year(date) 获取给定日期的月份:month(date) 为指定日期增加一个时间间隔的函数:date_add(date,INTERVAL expr unit) (1) 查询作者的出生年份 作者出生年份 = 当前年份 - 作者年龄  = year(curdate()) - age 注: 当前日期 curdate() , 当前年 year(curdat

构造简单好用的年份、年月选择器

一.需求前言 在报表开发过程中,经常会以年份或者年月作为查询条件,而目前WINFORM平台下,没有完整直接可用的年份或者年月选择控件可以使用,为此,在开发中或者以下拉框填充年份数据等作为变通实现的方式,实现起来不但繁琐而且使用起来略显不变.如何开发出更好用的年份.年月选择器呢?今天我就以dateedit控件为基础控件,为大家构造一个比较实用的年份.年月选择器控件. 二.需求解决 1.在VS左侧工具箱中,拖拉一个dateedit控件,到usercontrol 其实Dateedit控件从本质上说是由

输入年月日, 判断输入的是否正确

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 条件语句日期练习 { class Program { static void Main(string[] args) { //用户输入年.月.日,判断用户输入的年月日是否正确 //用户输入年份 Console.Write("请输入年份(0-9999):"); int y = Convert.ToI

【软件测试】 闰年判定以及输入问题思考

闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的.补上时间差的年份为闰年.闰年共有366天.其中二月为29天,闰年,每四年一次,每一百年不是闰年,每四百年又是一次闰年. 测试中,我们要编写如下逻辑结构的闰年测试代码: 1 获取年份信息 2 测试是否为4的公倍数 如果不是,则不是闰年 3 如果是,继续测试是否是100的公倍数如果不是 则是闰年 4 如果是,继续测试是否是400的公倍数,如果是则是闰年,如果不是则不是闰年 那么,最简单的代码实现 1

闰年测试非法输入的处理 简单安卓app 20150406

在软件测试的课上,老师介绍了闰年测试.闰年测试旨在检测某一年份是否为闰年,计算方式为四年一闰,百年不闰,四百年再闰.使用安卓实现这个小程序. 界面代码如下: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width=&quo