
import javautilCalendar;
import javautilDate;
import javatextSimpleDateFormat;
import javatextParsePosition;
import javautilGregorianCalendar;
/
<p>Title: </p>
<p>Description: </p>
<p>Copyright: Copyright (c) 2005</p>
<p>Company: </p>
@author not attributable
@version 10
/
public class Untitled1
{
public Untitled1()
{
}
/
判断是否润年
@param ddate
@return
/
public static boolean isLeapYear(String ddate) {
/
详细设计: 1被400整除是闰年,否则: 2不能被4整除则不是闰年 3能被4整除同时不能被100整除则是闰年
3能被4整除同时能被100整除则不是闰年
/
Date d = strToDate(ddate);
GregorianCalendar gc = (GregorianCalendar) CalendargetInstance();
gcsetTime(d);
int year = gcget(CalendarYEAR);
if ((year % 400) == 0)
return true;
else if ((year % 4) == 0) {
if ((year % 100) == 0)
return false;
else
return true;
} else
return false;
}
/
得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
/
public static String getNextDay(String nowdate, String delay) {
try{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String mdate = "";
Date d = strToDate(nowdate);
long myTime = (dgetTime() / 1000) + IntegerparseInt(delay) 24 60 60;
dsetTime(myTime 1000);
mdate = formatformat(d);
return mdate;
}catch(Exception e){
return "";
}
}
/
将短时间格式字符串转换为时间 yyyy-MM-dd
@param strDate
@return
/
public static Date strToDate(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatterparse(strDate, pos);
return strtodate;
}
/
获取一个月的最后一天
@param dat
@return
/
public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
String str = datsubstring(0, 8);
String month = datsubstring(5, 7);
int mon = IntegerparseInt(month);
if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {
str += "31";
} else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
str += "30";
} else {
if (isLeapYear(dat)) {
str += "29";
} else {
str += "28";
}
}
return str;
}
/
根据一个日期,返回是星期几的字符串
@param sdate
@return
/
public static String getWeek(String sdate) {
// 再转换为时间
Date date = strToDate(sdate);
Calendar c = CalendargetInstance();
csetTime(date);
// int hour=cget(CalendarDAY_OF_WEEK);
// hour中存的就是星期几了,其范围 1~7
// 1=星期日 7=星期六,其他类推
return new SimpleDateFormat("EEEE")format(cgetTime());
}
public static String getWeekStr(String sdate){
String str = "";
str = getWeek(sdate);
if("1"equals(str)){
str = "星期日";
}else if("2"equals(str)){
str = "星期一";
}else if("3"equals(str)){
str = "星期二";
}else if("4"equals(str)){
str = "星期三";
}else if("5"equals(str)){
str = "星期四";
}else if("6"equals(str)){
str = "星期五";
}else if("7"equals(str)){
str = "星期六";
}
return str;
}
public static String getNowMonth(String sdate) {
// 取该时间所在月的一号
//sdate = sdatesubstring(0, 8) + "01";
sdate = sdate + "-01";
// 得到这个月的1号是星期几
Calendar c = CalendargetInstance();
Date date = strToDate(sdate);
csetTime(date);
int u = cget(CalendarDAY_OF_WEEK);
String newday = getNextDay(sdate, (1 - u) + "");
return newday;
}
public static String getMonthDate(String sdate) {
// 取该时间所在月的一号
//sdate = sdatesubstring(0, 8) + "01";
sdate = sdate + "-01";
// 得到这个月的1号是星期几
Calendar c = CalendargetInstance();
Date date = strToDate(sdate);
csetTime(date);
int u = cget(CalendarDAY_OF_WEEK);
// for(int i=0;i<)
String edate=getEndDateOfMonth(sdate);
String newday;
newday = getNextDay(sdate, (1 - u) + "");
String week;
int i=0,j=1;
Systemoutprintln();
do
{
newday=getNextDay(sdate,""+i++);
week=getWeek(newday);
if(!weekequals("星期日")&&!weekequals("星期六"))
{
Systemoutprintln("第"+(j)+"周");
Systemoutprint(newday);
Systemoutprint(week);
Systemoutprintln();
}
if(weekequals("星期六"))j++;
}
while(!newdayequals(edate));
return newday;
}
static public void main(String[] args)
{
getMonthDate("2011-05");
}
}
SQL语法的问题,只要把Insert into句改成下面这样就可以了:
ADoQuery1SQLAdd('Insert into 测试表(时间) values('''+FormatDateTime('yyyy-mm-dd', StrToDate(a))+''')');
注意那些单引号。
附件和都一样的。都是2进制流。读取出来的时候保存格式正确就行
procedure TForm1LoadPictureClick(Sender: TObject); // 上传
begin
OpenPictureDialog1Title := '打开';
if OpenPictureDialog1Execute then
begin
Image1PictureLoadFromFile(OpenPictureDialog1FileName);
end;
end; procedure TForm1saveClick(Sender: TObject); //保存
var
Stream:TMemoryStream;
begin
try
Stream := TMemoryStreamCreate; // 创建内存流
Image1PictureGraphicSaveToStream(Stream); // 将保存到内存流中 //Image1PictureLoadFromFile(OpenPictureDialog1FileName);(另一种方法)
adoquery1Close;
adoquery1SQLClear;
adoQuery1SQLAdd('Insert into test3 values (:id,:photo)');
ADOQuery1ParametersParamByName('id')Value := editIdText;
adoQuery1ParametersParamByName('photo')LoadFromStream(Stream,ftBlob); // 读取保存的内存图
adoquery1ExecSQL;
finally
StreamFree; // 释放内存流
end;
end; procedure TForm1ReadClick(Sender: TObject); // 读取
var
Stream:TMemoryStream;
Jpg:TjpegImage;
begin
ADOQuery1Close;
ADOQuery1SQLText:='SELECT FROM test3 where id =' + editIdText; // 查询
ADOQuery1Open;
if not ADOQuery1FieldByName('photo')IsNull then
begin
Stream:=TMemoryStreamCreate ;
Jpg:=TjpegImageCreate ;
TBlobField(ADOQuery1FieldByName('photo'))SaveToStream(Stream); // 显示的转换为BlobField并保存到内存流
StreamPosition :=0;
jpgLoadFromStream(Stream); // 加载
image2PictureAssign(Jpg);
end
else
begin
image2Picture :=nil;
end; StreamFree; JpgFree;end;
adoqueryclose
adoquerysqlclear
adoquerysqltext:='select
fromm
'
adoquerysqladd('select
from')
adoqueryopen
adoqueryexecsql
以上就是关于java 根据输入的年月计算出这个月有几周全部的内容,包括:java 根据输入的年月计算出这个月有几周、用Delphi向数据库中插入时间、delphi 文件以数据流方式从SQL 2008存入或读取附件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)