我想见一个bool方法,判断当前时间在数据库中两个时间段内怎么判断啊怎么建类啊知道帮帮忙

我想见一个bool方法,判断当前时间在数据库中两个时间段内怎么判断啊怎么建类啊知道帮帮忙,第1张

public class1{

public bool IsRightTime(DataTime firsttime,DateTime lasttime){

DataTime dt=DataTimeNow;

if(dt>firsttime&&dt<lasttime){return true;}

else{return false;}

}

}

函数 IsRightTime 就可以满足你的要求了

当然,这个函数的两个参数你得从你的数据库中读取

OleDbConnection conn="连接数据库";

OleDbCommand cmd=new OleDbCommand("select top 1 firsttime,lasttime from 表",conn); //假设firsttime,lasttime是你数据库中的两个列,自已修改

connOpen();

OleDbDataReader rea=cmdExecuteReader();

DataTime dt1=DataTimeNow;

DataTime dt2=DataTimeNow;

while(reaRead()){

dt1=reaGetDateTime(0);

dt2=reaGetDateTime(1);

}

//下面就是你要的东西

bool d=IsRightTime(dt1,dt2);

我的意见是:1)创建一个webconfig(如果你是web程序),或者是appconfig(如果是WinForm的)。其中在<systemweb>……</systemweb>中加入以下黑色部分文字: <connectionStrings>

<add name="MyConnStr"

connectionString="Data Source=\SQLEXPRESS;

AttachDbFilename=Database1mdf;

Integrated Security=True;

User Instance=True"

providerName="SystemDataSqlClient" />

</connectionStrings>请把数据库和你的程序放到同一个地方(同一个路径)。然后使用SystemConfigurationConfigurationManagerConnetionStrings["MyConnStr"]ConnectionString;读取即可

将DateTime类型转化成string类型即可,转化方法需要使用 SystemDateTime 类的 ToString() 方法,并为其指定格式字符串。

MSDN 中,SystemGlobalizationDateTimeFormatInfo 类的概述里对模式字符串有非常详细的说明,因此,这里我只对常用的一些格式进行说明,首先请看下表:

d 月中的某一天 一位数的日期没有前导

dd 月中的某一天 一位数的日期有一个前导零

ddd 周中某天的缩写名称 在 AbbreviatedDayNames 中定义

dddd 周中某天的完整名称 在 DayNames 中定义

M 月份数字 一位数的月份没有前导零

MM 月份数字 一位数的月份有一个前导零

MMM 月份的缩写名称 在 AbbreviatedMonthNames 中定义

MMMM 月份的完整名称 在 MonthNames 中定义

y 不包含纪元的年份 如果不包含纪元的年份小于 10,则显示不具有前导零的年份

yy 不包含纪元的年份 如果不包含纪元的年份小于 10,则显示具有前导零的年份

yyyy 包括纪元的四位数的年份

h 12 小时制的小时 一位数的小时数没有前导零

hh 12 小时制的小时 一位数的小时数有前导零

H 24 小时制的小时 一位数的小时数没有前导零

HH 24 小时制的小时 一位数的小时数有前导零

m 分钟 一位数的分钟数没有前导零

mm 分钟 一位数的分钟数有一个前导零

s 秒 一位数的秒数没有前导零

ss 秒 一位数的秒数有一个前导零

为了便于理解,不妨试试下面的程序:

private void TestDateTimeToString() { DateTime now = DateTimeNow; string format; thistextBox1Text = ""; format = "yyyy-MM-dd HH:mm:ss"; thistextBox1AppendText(format + ": " + nowToString(format) + "\n"); format = "yy年M日d日"; thistextBox1AppendText(format + ": " + nowToString(format) + "\n");} 

这段程序将输出结果:

yyyy-MM-dd HH:mm:ss: 2002-08-26 17:03:04

yy年M日d日: 02年8日26日

DateTime dt = DateTimeNow;

// Label1Text = dtToString();//2005-11-5 13:21:25

// Label2Text = dtToFileTime()ToString();//127756416859912816

// Label3Text = dtToFileTimeUtc()ToString();//127756704859912816

// Label4Text = dtToLocalTime()ToString();//2005-11-5 21:21:25

// Label5Text = dtToLongDateString()ToString();//2005年11月5日

// Label6Text = dtToLongTimeString()ToString();//13:21:25

// Label7Text = dtToOADate()ToString();//386615565508218

// Label8Text = dtToShortDateString()ToString();//2005-11-5

// Label9Text = dtToShortTimeString()ToString();//13:21

// Label10Text = dtToUniversalTime()ToString();//2005-11-5 5:21:25

// 2005-11-5 13:30:284412864

// Label1Text = dtYearToString();//2005

// Label2Text = dtDateToString();//2005-11-5 0:00:00

// Label3Text = dtDayOfWeekToString();//Saturday

// Label4Text = dtDayOfYearToString();//309

// Label5Text = dtHourToString();//13

// Label6Text = dtMillisecondToString();//441

// Label7Text = dtMinuteToString();//30

// Label8Text = dtMonthToString();//11

// Label9Text = dtSecondToString();//28

// Label10Text = dtTicksToString();//632667942284412864

// Label11Text = dtTimeOfDayToString();//13:30:284412864

// Label1Text = dtToString();//2005-11-5 13:47:04

// Label2Text = dtAddYears(1)ToString();//2006-11-5 13:47:04

// Label3Text = dtAddDays(11)ToString();//2005-11-6 16:11:04

// Label4Text = dtAddHours(11)ToString();//2005-11-5 14:53:04

// Label5Text = dtAddMilliseconds(11)ToString();//2005-11-5 13:47:04

// Label6Text = dtAddMonths(1)ToString();//2005-12-5 13:47:04

// Label7Text = dtAddSeconds(11)ToString();//2005-11-5 13:47:05

// Label8Text = dtAddMinutes(11)ToString();//2005-11-5 13:48:10

// Label9Text = dtAddTicks(1000)ToString();//2005-11-5 13:47:04

// Label10Text = dtCompareTo(dt)ToString();//0

//// Label11Text = dtAdd()ToString();//问号为一个时间

// Label1Text = dtEquals("2005-11-6 16:11:04")ToString();//False

// Label2Text = dtEquals(dt)ToString();//True

// Label3Text = dtGetHashCode()ToString();//1474088234

// Label4Text = dtGetType()ToString();//SystemDateTime

// Label5Text = dtGetTypeCode()ToString();//DateTime

// Label1Text = dtGetDateTimeFormats('s')[0]ToString();//2005-11-05T14:06:25

// Label2Text = dtGetDateTimeFormats('t')[0]ToString();//14:06

// Label3Text = dtGetDateTimeFormats('y')[0]ToString();//2005年11月

// Label4Text = dtGetDateTimeFormats('D')[0]ToString();//2005年11月5日

// Label5Text = dtGetDateTimeFormats('D')[1]ToString();//2005 11 05

// Label6Text = dtGetDateTimeFormats('D')[2]ToString();//星期六 2005 11 05

// Label7Text = dtGetDateTimeFormats('D')[3]ToString();//星期六 2005年11月5日

// Label8Text = dtGetDateTimeFormats('M')[0]ToString();//11月5日

// Label9Text = dtGetDateTimeFormats('f')[0]ToString();//2005年11月5日 14:06

// Label10Text = dtGetDateTimeFormats('g')[0]ToString();//2005-11-5 14:06

// Label11Text = dtGetDateTimeFormats('r')[0]ToString();//Sat, 05 Nov 2005 14:06:25 GMT

Label1Text = stringFormat("{0:d}",dt);//2005-11-5

Label2Text = stringFormat("{0:D}",dt);//2005年11月5日

Label3Text = stringFormat("{0:f}",dt);//2005年11月5日 14:23

Label4Text = stringFormat("{0:F}",dt);//2005年11月5日 14:23:23

Label5Text = stringFormat("{0:g}",dt);//2005-11-5 14:23

Label6Text = stringFormat("{0:G}",dt);//2005-11-5 14:23:23

Label7Text = stringFormat("{0:M}",dt);//11月5日

Label8Text = stringFormat("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT

Label9Text = stringFormat("{0:s}",dt);//2005-11-05T14:23:23

Label10Text = stringFormat("{0:t}",dt);//14:23

Label11Text = stringFormat("{0:T}",dt);//14:23:23

Label12Text = stringFormat("{0:u}",dt);//2005-11-05 14:23:23Z

Label13Text = stringFormat("{0:U}",dt);//2005年11月5日 6:23:23

Label14Text = stringFormat("{0:Y}",dt);//2005年11月

Label15Text = stringFormat("{0}",dt);//2005-11-5 14:23:23

Label16Text = stringFormat("{0:yyyyMMddHHmmssffff}",dt);

C# 时间(几个常用时间,程序运行计时,页面运行计时)

DateTime now = SystemDateTimeNow;

nowToString(); //显示: 2006/08/30 17:31:02

nowToString("yyyy-MM-dd hh:mm:ss"); //显示: 2006-08-30 05:39:11

SystemDateTimeMaxValueToString(); //显示: 9999/12/31 23:59:59

SystemDateTimeMinValueToString(); //显示: 0001/01/01 0:00:00

nowToLongDateString(); //显示: 2006年8月30日

nowToLongTimeString(); //显示: 17:34:23

nowToShortTimeString(); //显示: 17:34

nowToString() + " " + nowMillisecondToString(); //显示: 2006/08/30 17:35:19 484

找到后台目录下的templets/diy_listhtm文件 找到语句:

foreach($fieldlist as $field=>$fielddata) {

if($fields[$field]=='') continue;

if($fielddata[1]=='img') {

$fields[$field] = "<a href='{$fields[$field]}' target='_blank'><img src='images/channeladdgif' border='0' /> 附件</a>\r\n";

} else if($fielddata[1]=='addon') {

$fields[$field] = "<a href='{$fields[$field]}' target='_blank'><img src='images/channeladdgif' border='0' /> 其它附件</a>";

}else{

if(!in_array($fielddata[1],$allowhtml)){

$fields[$field] = htmlspecialchars($fields[$field]);

}

}

echo '<tr><td bgcolor="#ffffff" >'$fielddata[0]'</td><td bgcolor="#ffffff" colspan="2">'$fields[$field]'</td></tr>';

}

添加else if($fielddata[1]=='datetime'){

$fields[$field] = GetDateTimeMk($fields[$field]); ;

}

在改之前 最好要先备份文件,避免一些不必要的麻烦。

while(drRead())

{

}

drClose();

这样是没有问题的,可以读取多条数据

drRead()方法读取下一条数据成功就返回true,失败,即读取完毕时返回false

至于只能读取一条数据,可能是这个存储过程只返回了一条数据,或者其他什么原因,我没有用过SQLServerHelper,不是很清楚

可以在数据库里调用那个存储过程试试,看看返回了多少数据

看不懂你写的程序语句,检查一下是不是实际取得了两行数据

然后你赋值给了程序中的某个对象,像游标一样,一行一行的赋值

但是后一行赋值将前一行赋值覆盖掉了,就误认为只取得了后一行的28

我给你个类 将时间转换成long格式如 20080725123011, 然后你再比较 这样比较的效率会比比较类实例要高

package comkhandatetime;

import javautil;

import javatext;

/

时间编码类

<p>Title: </p>

<p>Description: </p>

<p>Copyright: Copyright (c) 2006</p>

<p>Company: </p>

@author not attributable

@version 10

/

public class SMPTime {

public static long getDateTime() {

Calendar now = null;

long date = 0;

try {

now = CalendargetInstance();

date = nowget(CalendarSECOND)

+ 100L nowget(CalendarMINUTE)

+ 10000L nowget(CalendarHOUR_OF_DAY)

+ 1000000L nowget(CalendarDATE)

+ 100000000L (nowget(CalendarMONTH) + 1)

+ 10000000000L nowget(CalendarYEAR);

} finally {

now = null;

}

return date;

}

public static String getSqlServerDateString(long datetime) {

return getYear(datetime) + "-"

+ getMonth(datetime) + "-"

+ getDay(datetime) + " "

+ getHour(datetime) + ":"

+ getMinute(datetime) + ":"

+ getSecond(datetime);

}

/

取得当前时间整数形式

@return long

/

public static long getNow() {

return getDateTime();

}

/计算两个时间相差多少秒/

public static long getDatePart(long time1, long time2) {

Calendar now = null;

Calendar now1 = null;

long time = 0;

try {

now = getCalendar(time1);

now1 = getCalendar(time2);

time = (nowgetTimeInMillis() - now1getTimeInMillis()) / 1000;

} finally {

now = null;

now1 = null;

}

return time;

}

public static long getYearMonth(){

Calendar now = null;

long date = 0;

try {

now = CalendargetInstance();

date = (nowget(CalendarMONTH) + 1)

+ 100L nowget(CalendarYEAR);

} finally {

now = null;

}

return date;

}

public static long getDay(boolean hour) {

Calendar now = null;

long date = 0;

try {

now = CalendargetInstance();

date = nowget(CalendarDATE)

+ 100L (nowget(CalendarMONTH) + 1)

+ 10000L nowget(CalendarYEAR);

} finally {

now = null;

}

return date;

}

public static long getTime(boolean hour) {

Calendar now = null;

long data = 0;

try {

now = CalendargetInstance();

data = nowget(CalendarSECOND)

+ 100L nowget(CalendarMINUTE)

+ 10000L nowget(CalendarHOUR_OF_DAY);

} finally {

now = null;

}

return data;

}

/

取得指定时间的整数形式

@param year int

@param month int

@param day int

@param hour int

@param minute int

@param second int

@return long

/

public static long getDateTime(int year, int month, int day, int hour, int minute, int second) {

return second + 100L minute + 10000L hour + 1000000L day + 100000000L month + 10000000000L year;

}

/

转换 Calendar 形式时间为 long形式

@param date Calendar

@param year boolean

@return long

/

public static long getDateTime(Calendar date, boolean year) {

int nYear = 0;

if (year == true) {

nYear = dateget(CalendarYEAR);

}

return getDateTime(nYear, dateget(CalendarMONTH) + 1, dateget(CalendarDATE), dateget(CalendarHOUR_OF_DAY), dateget(CalendarMINUTE), dateget(CalendarSECOND));

}

public static long getDateTime(long timeInSecond) {

Calendar date = null;

long d = 0;

try{

date = CalendargetInstance();

datesetTimeInMillis(timeInSecond 1000);

d = getDateTime(date, true);

}finally{

date = null;

}

return d;

}

/

取得当前时间

@param year boolean 是否包含年份

@return long

/

public static long getDateTime(boolean year) {

Calendar rightNow = null;

long d = 0;

try{

rightNow = CalendargetInstance();

d = getDateTime(rightNow, year);

}finally{

rightNow = null;

}

return d;

}

/

转换long的时间为java Calendar时间形式

@param time long

@return Calendar

/

public static Calendar getCalendar(long time) {

Calendar now = CalendargetInstance();

nowset(getYear(time), getMonth(time), getDay(time), getHour(time), getMinute(time), getSecond(time));

return now;

}

/

取得当前月份第一天的日期

@param year boolean

@return long

/

public static long getMonthStart(boolean year) {

return getMonthStart(CalendargetInstance(), year);

}

/

取得当前月第一天

@param now Calendar

@param year boolean 是否包含年份

@return long

/

public static long getMonthStart(Calendar now, boolean year) {

int nYear = 0;

if (year == true) {

nYear = nowget(CalendarYEAR);

}

return getDateTime(nYear, nowget(CalendarMONTH) + 1, 0, 0, 0, 0);

}

/

取得时间中的年份

@param date long

@return int

/

public static int getYear(long date) {

return (int) (date / 10000000000L);

}

/

取得时间中的月份

@param date long

@return int

/

public static int getMonth(long date) {

return (int) ((date / 100000000L) % 100);

}

/

取得时间中的日

@param date long

@return int

/

public static int getDay(long date) {

return (int) ((date / 1000000L) % 100);

}

/

取得时间中的小时

@param date long

@return int

/

public static int getHour(long date) {

return (int) ((date / 10000L) % 100);

}

/

取得时间中的分钟

@param date long

@return int

/

public static int getMinute(long date) {

return (int) ((date / 100L) % 100);

}

/

取得日期中的秒

@param date long

@return int

/

public static int getSecond(long date) {

return (int) (date % 100);

}

/

取得当前时间中的秒

@return int

/

public static int getSecond() {

Calendar now = CalendargetInstance();

return nowget(CalendarSECOND);

}

/

计算用户年纪

@param birth long

@param time long

@return int

/

public static int getAge(long birth, long time) {

return getYear(time - birth);

}

public static long getNextDateTime() {

Calendar now = null;

long d = 0;

try{

now = CalendargetInstance();

nowadd(CalendarDATE, 1);

d = nowget(CalendarSECOND)

+ 100L nowget(CalendarMINUTE)

+ 10000L nowget(CalendarHOUR_OF_DAY)

+ 1000000L nowget(CalendarDATE)

+ 100000000L (nowget(CalendarMONTH) + 1)

+ 10000000000L nowget(CalendarYEAR);

}finally{

now = null;

}

return d;

}

public static long getNextDay() {

Calendar now = null;

long d = 0;

try{

now = CalendargetInstance();

nowadd(CalendarDATE, 1);

d = nowget(CalendarDATE)

+ 100L (nowget(CalendarMONTH) + 1)

+ 10000L nowget(CalendarYEAR);

}finally{

now = null;

}

return d;

}

public static long getDay() {

Calendar now = null;

long d = 0;

try{

now = CalendargetInstance();

d = nowget(CalendarDATE)

+ 100L (nowget(CalendarMONTH) + 1)

+ 10000L nowget(CalendarYEAR);

}finally{

now = null;

}

return d;

}

public static boolean isValidDate(String sDate){

try{

return DateFormatgetDateInstance()parse(sDate)!=null;

}catch(ParseException e){

return false;

}

}

public static Date str2Date(String sDate){

try{

return DateFormatgetDateInstance()parse(sDate);

}catch(ParseException e){

return null;

}

}

/

计算用户生日

@param age int

@param birth long

@param time long

@return long

/

public static long getBirth(int age, long birth, long time) {

return birth + 10000000000L (getAge(birth, time) - age);

}

public static void main(String[] args) { //test

Systemoutprintln(getDatePart(20061206020701L, 20061206020638L));

}

}

以上就是关于我想见一个bool方法,判断当前时间在数据库中两个时间段内怎么判断啊怎么建类啊知道帮帮忙全部的内容,包括:我想见一个bool方法,判断当前时间在数据库中两个时间段内怎么判断啊怎么建类啊知道帮帮忙、c# 连接数据库 两个 sql commend 同时运行 求大神解决..、asp.net中如何生日的DATetime类型写入数据库的string类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9397483.html

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

发表评论

登录后才能评论

评论列表(0条)

保存