如何:在 Calendar 控件中显示数据库中的选定日期

如何:在 Calendar 控件中显示数据库中的选定日期,第1张

当您选定一个月份时,将获取当前所选月份的日期,此日期范围是基于 Calendar 控件的 VisibleDate 属性定义的,该属性返回当前月的第一个日期。 每次用户导航到一个新的月份时,代码就会读取该月份的假日。 在 DayRender 事件中,代码会将当前呈现的日期与从数据库返回的日期进行比较。 如果有匹配的日期,则用特殊颜色标记这一天。 注意 需要对 Calendar 控件标记添加 OnDayRender 属性,以便使用 DayRender 事件。 例如,代码应类似于下面的示例: <asp:Calendar id="Calendar1" OnDayRender=" Calendar1_DayRender" runat="server" ></asp:Calendar>Protected dsHolidays As DataSet Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As SystemEventArgs) Handles MeLoad If Not IsPostBack Then Calendar1VisibleDate = DateTimeToday FillHolidayDataset() End If End Sub Protected Sub FillHolidayDataset() Dim firstDate As New DateTime(Calendar1VisibleDateYear, _ Calendar1VisibleDateMonth, 1) Dim lastDate As DateTime = GetFirstDayOfNextMonth() dsHolidays = GetCurrentMonthData(firstDate, lastDate) End Sub Protected Function GetFirstDayOfNextMonth() As DateTime Dim monthNumber, yearNumber As Integer If Calendar1VisibleDateMonth = 12 Then monthNumber = 1 yearNumber = Calendar1VisibleDateYear + 1 Else monthNumber = Calendar1VisibleDateMonth + 1 yearNumber = Calendar1VisibleDateYear End If Dim lastDate As New DateTime(yearNumber, monthNumber, 1) Return lastDate End Function Protected Sub Calendar1_VisibleMonthChanged(ByVal sender As Object, _ ByVal e As SystemWebUIWebControlsMonthChangedEventArgs) _ Handles Calendar1VisibleMonthChanged FillHolidayDataset() End Sub Function GetCurrentMonthData(ByVal firstDate As DateTime, _ ByVal lastDate As DateTime) As DataSet Dim dsMonth As New DataSet Dim cs As ConnectionStringSettings cs = ConfigurationManagerConnectionStrings("ConnectionString1") Dim connString As String = csConnectionString Dim dbConnection As New SqlConnection(connString) Dim query As String query = "SELECT HolidayDate FROM Holidays " & _ " WHERE HolidayDate >= @firstDate AND HolidayDate < @lastDate" Dim dbCommand As New SqlCommand(query, dbConnection) dbCommandParametersAdd(New SqlParameter("@firstDate", firstDate)) dbCommandParametersAdd(New SqlParameter("@lastDate", lastDate)) Dim sqlDataAdapter As New SqlDataAdapter(dbCommand) Try sqlDataAdapterFill(dsMonth) Catch End Try Return dsMonth End Function Protected Sub Calendar1_DayRender(ByVal sender As Object, _ ByVal e As SystemWebUIWebControlsDayRenderEventArgs) _ Handles Calendar1DayRender Dim nextDate As DateTime If Not dsHolidays Is Nothing Then For Each dr As DataRow In dsHolidaysTables(0)Rows nextDate = CType(dr("HolidayDate"), DateTime) If nextDate = eDayDate Then eCellBackColor = SystemDrawingColorPink End If Next End If End Subprotected DataSet dsHolidays; protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { Calendar1VisibleDate = DateTimeToday; FillHolidayDataset(); } } protected void FillHolidayDataset() { DateTime firstDate = new DateTime(Calendar1VisibleDateYear, Calendar1VisibleDateMonth, 1); DateTime lastDate = GetFirstDayOfNextMonth(); dsHolidays = GetCurrentMonthData(firstDate, lastDate); } protected DateTime GetFirstDayOfNextMonth() { int monthNumber, yearNumber; if(Calendar1VisibleDateMonth == 12) { monthNumber = 1; yearNumber = Calendar1VisibleDateYear + 1; } else { monthNumber = Calendar1VisibleDateMonth + 1; yearNumber = Calendar1VisibleDateYear; } DateTime lastDate = new DateTime(yearNumber, monthNumber, 1); return lastDate; } protected DataSet GetCurrentMonthData(DateTime firstDate, DateTime lastDate) { DataSet dsMonth = new DataSet(); ConnectionStringSettings cs; cs = ConfigurationManagerConnectionStrings["ConnectionString1"]; String connString = csConnectionString; SqlConnection dbConnection = new SqlConnection(connString); String query; query = "SELECT HolidayDate FROM Holidays " + _ " WHERE HolidayDate >= @firstDate AND HolidayDate < @lastDate"; SqlCommand dbCommand = new SqlCommand(query, dbConnection); dbCommandParametersAdd(new SqlParameter("@firstDate", firstDate)); dbCommandParametersAdd(new SqlParameter("@lastDate", lastDate)); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(dbCommand); try { sqlDataAdapterFill(dsMonth); } catch {} return dsMonth; } protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { DateTime nextDate; if(dsHolidays != null) { foreach(DataRow dr in dsHolidaysTables[0]Rows) { nextDate = (DateTime) dr["HolidayDate"]; if(nextDate == eDayDate) { eCellBackColor = SystemDrawingColorPink; } } } } protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e) { FillHolidayDataset(); } 此示例基于当前显示的月份的日期生成一个查询。 VisibleDate 属性返回当前月的第一个日期。 (在用户导航到日历中之前,不会设置 VisibleDate 属性,因此在第一次显示该页时,代码会手动设置 VisibleDate 属性。

CalendarDATE是个常量,就是个固定值,永远不变。

calget(CalendarDATE)是个方法,获取cal中的属性,传入常量就是告诉cal,获取哪个DATE属性。

Systemoutprintln(jpcalendargetTime()); 该方法以当前系统的时区输出,不管jpcalendar是日本时区还是其他时区。

要取得日本历,例子如下(jdk16):

import javautilCalendar;

import javautilLocale;

import javautilTimeZone;

public class Test {

  public static void main(String[] args) {

    Calendar cCalendar = CalendargetInstance();

    Systemoutprintln(cCalendargetTime());

    Systemoutprintln(cCalendargetDisplayName(CalendarERA, CalendarLONG, LocalegetDefault()) + ": " + cCalendarget(CalendarYEAR));

    

    Locale jLocale = new Locale("ja", "jp", "JP");

    Calendar jCalendar = CalendargetInstance(TimeZonegetTimeZone("JST"), jLocale);

    Systemoutprintln(jCalendargetTime());

    Systemoutprintln(jCalendargetDisplayName(CalendarERA, CalendarLONG, jLocale) + ": " + jCalendarget(CalendarYEAR));

  }

}

输出结果:

Sat Jul 27 22:31:59 CST 2013

公元: 2013

Sat Jul 27 22:31:59 CST 2013

平成: 25

1、获取当前的时间

Date date=new Date();//此时date为当前的时间

2、设置时间的格式

Date date=new Date();//此时date为当前的时间

Systemoutprintln(date);

SimpleDateFormat dateFormat=new SimpleDateFormat(“YYYY-MM-dd”);//设置当前时间的格式,为年-月-日

Systemoutprintln(dateFormatformat(date));

SimpleDateFormat dateFormat_min=new SimpleDateFormat(“YYYY-MM-dd HH:mm:ss”);//设置当前时间的格式,为年-月-日 时-分-秒

Systemoutprintln(dateFormat_minformat(date));

扩展资料

java 获取当前微秒时间:

package comffcsitm;

public class DataSecUtils {

public static void main(String[] args) {

Systemoutprintln(SystemcurrentTimeMillis()); // 毫秒

Systemoutprintln(getmicTime());

Systemoutprintln(SystemcurrentTimeMillis()); // 毫秒

Systemoutprintln(getmicTime());

}

/

@return返回微秒

/

public static Long getmicTime() {

Long cutime = SystemcurrentTimeMillis() 1000; // 微秒

Long nanoTime = SystemnanoTime(); // 纳秒

return cutime + (nanoTime - nanoTime / 1000000 1000000) / 1000;

}

}

public class MyDate{

int theyear=0;

int themonth=0;

int theday=0;

String thedate=null;

public String getDate(){

Calendar calendar=CalendargetInstance();

theyear= calendarget(CalendarYEAR);

themonth=calendarget(CalendarMONTH)+1;

theday=calendarget(CalendarDAY_OF_MONTH);

thedate=""+theyear+"年"+themonth+"月"+theday+"日";

return thedate;

}

}

以上就是关于如何:在 Calendar 控件中显示数据库中的选定日期全部的内容,包括:如何:在 Calendar 控件中显示数据库中的选定日期、java cal.get(Calendar.DATE)和Calendar.DATE的区别、Java如何获得一个日本的Calendar对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9855565.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存