
当您选定一个月份时,将获取当前所选月份的日期,此日期范围是基于 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对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)