日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET农历时间显示(两)

發布時間:2023/12/16 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET农历时间显示(两) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在拍攝的月球時前(http://blog.csdn.net/yysyangyangyangshan/article/details/6802950),只是沒有進行封裝使用起來須要手動改動。

本次進行簡單封裝一下。能夠直接進行調用。

代碼例如以下:

取農歷時間的類

public class CountryDate{public string ChineseTimeNow = "";public string ForignTimeNow = "";private static ChineseLunisolarCalendar calendar = new ChineseLunisolarCalendar();private static string ChineseNumber = "〇一二三四五六七八九";public const string CelestialStem = "甲乙丙丁戊己庚辛壬癸";public const string TerrestrialBranch = "子丑寅卯辰巳午未申酉戌亥";public static readonly string[] ChineseDayName = new string[] {"初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"};public static readonly string[] ChineseMonthName = new string[] { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" };/// <summary>/// 獲取一個公歷日期相應的完整的農歷日期/// </summary>/// <param name="time">一個公歷日期</param>/// <returns>農歷日期</returns>public string GetChineseDate(DateTime time){string strY = GetYear(time);string strM = GetMonth(time);string strD = GetDay(time);string strSB = GetStemBranch(time);string strDate = strY + "(" + strSB + ")年 " + strM + "月 " + strD;return strDate;}/// <summary>/// 獲取一個公歷日期的農歷干支紀年/// </summary>/// <param name="time">一個公歷日期</param>/// <returns>農歷干支紀年</returns>public string GetStemBranch(DateTime time){int sexagenaryYear = calendar.GetSexagenaryYear(time);string stemBranch = CelestialStem.Substring(sexagenaryYear % 10 - 1, 1) + TerrestrialBranch.Substring(sexagenaryYear % 12 - 1, 1);return stemBranch;}/// <summary>/// 獲取一個公歷日期的農歷年份/// </summary>/// <param name="time">一個公歷日期</param>/// <returns>農歷年份</returns>public string GetYear(DateTime time){StringBuilder sb = new StringBuilder();int year = calendar.GetYear(time);int d;do{d = year % 10;sb.Insert(0, ChineseNumber[d]);year = year / 10;} while (year > 0);return sb.ToString();}/// <summary>/// 獲取一個公歷日期的農歷月份/// </summary>/// <param name="time">一個公歷日期</param>/// <returns>農歷月份</returns>public string GetMonth(DateTime time){int month = calendar.GetMonth(time);int year = calendar.GetYear(time);int leap = 0;//正月不可能閏月for (int i = 3; i <= month; i++){if (calendar.IsLeapMonth(year, i)){leap = i;break; //一年中最多有一個閏月}}if (leap > 0) month--;return (leap == month + 1 ?

"閏" : "") + ChineseMonthName[month - 1]; } /// <summary> /// 獲取一個公歷日期的農歷日 /// </summary> /// <param name="time">一個公歷日期</param> /// <returns>農歷日</returns> public string GetDay(DateTime time) { return ChineseDayName[calendar.GetDayOfMonth(time) - 1]; } }


須要的using

using System; using System.Collections.Generic; using System.Web; using System.Text; using System.Globalization;

?

調用:

CountryDate cd = new CountryDate();string ChineseTimeNow = cd.GetChineseDate(DateTime.Now);//農歷日期string ForignTimeNow = DateTime.Now.GetDateTimeFormats('D')[0].ToString();//公歷日期


以下有一個測試的效果:

前臺代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestCountryDate._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><title></title> </head> <body><form id="form1" runat="server"><div><table><tr><td><asp:Label ID="Label1" runat="server" Text="農歷時間"/></td><td><asp:Label ID="lblCountryDate" runat="server"/></td></tr><tr><td><asp:Label ID="Label2" runat="server" Text="公歷時間"/></td><td><asp:Label ID="lblForignDate" runat="server"/></td></tr></table><asp:Button ID="buttton1" runat="server" Text="顯示時間" OnClick="Button1_Click" /></div></form> </body> </html>


后臺代碼:

public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){CountryDate cd = new CountryDate();string ChineseTimeNow = cd.GetChineseDate(DateTime.Now);//農歷日期string ForignTimeNow = DateTime.Now.GetDateTimeFormats('D')[0].ToString();//公歷日期lblCountryDate.Text = ChineseTimeNow;lblForignDate.Text = ForignTimeNow;}}


效果例如以下:

主要取時間就正是這種CountryDate分類,我們可以花時間打電話。

假設有更好的優化,歡迎大家分享。

版權聲明:本文博主原創文章,博客,未經同意不得轉載。

總結

以上是生活随笔為你收集整理的ASP.NET农历时间显示(两)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。