怎么获得dateTime的年月日并且拼接

怎么获得dateTime的年月日并且拼接,第1张

从sqlserver数据库中提取日期应该使用,并把年月日分别截取出来应该使用

数据库提供的时间函数。

1:使用year,month,day用来提取年月日

如:select year(getdate()),month(getdate()),day(getdate())

2:使用DATEPART 获取年月日

如:select DATEPART('year',getdate()),DATEPART('month',getdate()),DATEPART('day',getdate())

----------------------------------------------------------------------------

如果字段是varchar类型的话,可以先将字段转换为日期类型。

使用类型转换函数convert或者cast

如:cast('2015-07-14' as datetime)

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <timeh>

using namespace std;

// 判断星期几

int getWeekDay(const int year, const int yday)

{

int n = year - 1 + (int)((year - 1) / 4) - (int)((year - 1) / 100) + (int)((year - 1) / 400) + yday;

return n % 7;

}

// 是否闰年

bool isLeapYear(const int year)

{

return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;

}

// 获取当天是一年中的第几天

int getYearDay(const int year, const int month, const int mday)

{

int yday = 0;

for (int i = 1; i < month; i++)

{

switch (i)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

yday += 31;

break;

case 4:

case 6:

case 9:

case 11:

yday += 30;

break;

case 2:

yday += (isLeapYear(year)  29 : 28);

break;

}

}

yday += mday;

return yday;

}

// 计算两个日期的天数差(假设date1小于date2)

int getDayCount(const struct tm &date1, const struct tm &date2)

{

int nday = 0;

int yday1 = getYearDay(date1tm_year + 1900, date1tm_mon + 1, date1tm_mday);

int yday2 = getYearDay(date2tm_year + 1900, date2tm_mon + 1, date2tm_mday);

for (int i = date1tm_year; i < date2tm_year; i++)

{

if (isLeapYear(i + 1900))

nday += 366;

else nday += 365;

}

nday += (yday2 - yday1);

return nday;

}

// 公历节日,随便弄15个。

const char festivals[] = {

"1,1", "元旦",

"2,14", "情人节",

"3,8", "妇女节",

"3,12", "植树节",

"3,15", "消费者权益日",

"4,1", "愚人节",

"4,5", "清明节",

"5,1", "劳动节",

"5,4", "青年节",

"6,1", "儿童节",

"7,1", "建党节",

"8,1", "建军节",

"9,10", "教师节",

"10,1", "国庆节",

"12,25", "圣诞节"

};

char weekdays[] = { "日", "一", "二", "三", "四", "五", "六" };

void setDate(struct tm &date, const int year, const int month, const int day)

{

datetm_year = year;

datetm_mon = month;

datetm_mday = day;

}

void testDate1()

{

int month, year, day;

cout << "请输入你想知道的年月日(用逗号隔开):";

scanf("%d,%d,%d", &year, &month, &day);

//cin >> year >> month >> day;

//距离元旦的天数

int yday = getYearDay(year, month, day);

// 将日期赋值到tm结构体中,方便函数调用

struct tm date;

setDate(date, year - 1900, month - 1, day);

// 取得今天的时间,并转换为tm结构体

time_t now = time((time_t)NULL);

struct tm today = localtime(&now);

int nday;

// 将年月日换算成如20160412的整数然后进行比较,简单直观

if (year  10000 + (month - 1)  100 + day >= 

(today->tm_year + 1900)  1000 + today->tm_mon 100 + today->tm_mday)

nday = getDayCount(today, date);

else nday = getDayCount(date, today);

printf("%d,%d,%d离今天有%d天!\n", year, month, day, nday);

int wday = getWeekDay(year, yday);

cout << "是星期" << weekdays[wday] << endl;

// 看看今天是什么节日

char szDate[10] = { '\0' };

sprintf(szDate, "%d,%d", month, day);

for (int i = 0; i < 30; i+= 2)

{

if (strcmp(szDate, festivals[i]) == 0)

{

cout << "是" << festivals[i + 1] << "!\n";

break;

}

}

}

void testDate2()

{

struct tm date1900;

setDate(date1900, 0, 0, 1);

int year, month, day;

cout << "请输入你想知道的年月日(用逗号隔开):";

scanf("%d,%d,%d", &year, &month, &day);

struct tm date;

setDate(date, year - 1900, month - 1, day);

// 求出所输入日期和1900年1月1日的日期差就能判断

int ndays = getDayCount(date1900, date);

// 三天打渔两天晒网,即每5天一个周期。

int cycle = ndays % 5;

// 对5求模,则结果是0-3的话就是打渔,否则就是晒网

if (cycle < 3)

cout << "这天是在打渔!" << endl;

else

cout << "这天是在晒网!" << endl;

}

int main()

{

cout << "1 离今天还有多少天!\n" <<

"2 是打渔还是晒网!\n" <<

"3 退出!" << endl;

int op;

do

{

cout << "请选择 1,2,3!\n";

cin >> op;

if (op < 1 || op > 3)

continue;

switch (op)

{

case 1:

testDate1();

break;

case 2:

testDate2();

break;

default:

break;

}

} while (op != 3);

system("pause");

return 0;

}

使用where方法

where方法支持时间比较,例如:

//

大于某个时间

where('create_time','>

time','2016-1-1');

//

小于某个时间

where('create_time','<=

time','2016-1-1');

//

时间区间查询

where('create_time','between

time',['2015-1-1','2016-1-1']);

第三个参数可以传入任何有效的时间表达式,会自动识别你的时间字段类型,支持的时间类型包括timestamps、datetime、date和int。

使用whereTime方法

whereTime方法提供了日期和时间字段的快捷查询,示例如下:

//

大于某个时间

db('user')

->whereTime('birthday',

'>=',

'1970-10-1')

->select();

//

小于某个时间

db('user')

->whereTime('birthday',

'<',

'2000-10-1')

->select();

//

时间区间查询

db('user')

->whereTime('birthday',

'between',

['1970-10-1',

'2000-10-1'])

->select();

//

不在某个时间区间

db('user')

->whereTime('birthday',

'not

between',

['1970-10-1',

'2000-10-1'])

->select();

时间表达式

还提供了更方便的时间表达式查询,例如:

//

获取今天的博客

db('blog')

->whereTime('create_time',

'today')

->select();

//

获取昨天的博客

db('blog')

->whereTime('create_time',

'yesterday')

->select();

//

获取本周的博客

db('blog')

->whereTime('create_time',

'week')

->select();

//

获取上周的博客

db('blog')

->whereTime('create_time',

'last

week')

->select();

//

获取本月的博客

db('blog')

->whereTime('create_time',

'month')

->select();

//

获取上月的博客

db('blog')

->whereTime('create_time',

'last

month')

->select();

//

获取今年的博客

db('blog')

->whereTime('create_time',

'year')

->select();

//

获取去年的博客

db('blog')

->whereTime('create_time',

'last

year')

->select();

如果查询当天、本周、本月和今年的时间,还可以简化为:

//

获取今天的博客

db('blog')

->whereTime('create_time',

'd')

->select();

//

获取本周的博客

db('blog')

->whereTime('create_time',

'w')

->select();

//

获取本月的博客

db('blog')

->whereTime('create_time',

'm')

->select();

//

获取今年的博客

db('blog')

->whereTime('create_time',

'y')

->select();

V505+版本开始,还可以使用下面的方式进行时间查询

//

查询两个小时内的博客

db('blog')

->whereTime('create_time','-2

hours')

->select();

这些在开发手册中都可以找到的。希望可以帮到你。

在asp获取时间的年月日:

1、<%=datepart("yyyy",rs1("time"))%>年<%=datepart("m",rs1("time"))%>月<%=datepart("d",rs1("time"))%>日

2、year1=year(now())

month1=month(now())

day1=day(now())

Hour1=Hour(now())

Minute1=Minute(now())

Second1=Second(now())

取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方

文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。

你可以试下下面的方式来取得当前时间的时间戳:

import time

print timetime()

以上就是关于怎么获得dateTime的年月日并且拼接全部的内容,包括:怎么获得dateTime的年月日并且拼接、问:c++程序设计: 1,输入年月日,输出距离今天还有多少天,星期几,是否是公历日。假定输入的年份、怎样在thinkphp 查询语句中将时间戳格式转化为年月日格式,然后再作为where条件查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存