第一种方法:
package cnywtest;
import javatextSimpleDateFormat;
import javautilDate;
public class DateTest {
public static void main(String[] args){
Date today = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
formatformat(today);
/输入日期/
Systemoutprintln(formatformat(today));
String datetime = formatformat(today);
//输入年
String year = datetimesubstring(0, datetimeindexOf("-"));
Systemoutprintln(year);
//输出月
String month = datetimesubstring(datetimeindexOf("-")+1, datetimelastIndexOf("-"));
Systemoutprintln(month);
//输出日
String day = datetimesubstring(datetimelastIndexOf("-")+1, datetimelength());
Systemoutprintln(day);
}
}
第二种方法:
Date today = new Date();
long time = todaygetTime();
Calendar calendar = CalendargetInstance();
calendarsetTimeInMillis(time);
//输出年
Systemoutprintln(calendarget(CalendarYEAR));
//输出月 :由于月份是从0开始的所以要加上1
Systemoutprintln(calendarget(CalendarMONTH+1));
//输出日
Systemoutprintln(calendarget(CalendarDAY_OF_MONTH));
希望能够帮助你解决问题
#include <timeh> 要添加这个头文件。
time_t rawtime;
struct tm target_time;
time ( &rawtime ); //获取当前时间,存rawtime里
target_time = localtime ( &rawtime ); //获取当地时间
利用struct tm,你可以按需取出年月日时分秒星期几等数值。
---------------------
你的问题:
time_t now;
long int dt=3600; // 时间长度,秒数
now = time (NULL); //获取当前时间
printf("%s ",ctime(&now)); //直接打印时间
now=now+dt;
printf("%s ",ctime(&now)); // 直接打印加dt后的时间
(当然,你也可以用 ctime(&now) 返回的字符串 通过 MFC 的方法显示)
从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)
直接使用系统提供的函数就可以了,而且可以有多种方法:
方法一:使用系统化的格式化方式显示
time_t ltime;char timebuf[26];
errno_t err;
// Get UNIX-style time and display as number and string
time( <ime );
printf( "Time in seconds since UTC 1/1/70:\t%ld\n", ltime );
err = ctime_s(timebuf, 26, <ime);
if (err)
{
printf("ctime_s failed due to an invalid argument");
exit(1);
}
printf( "UNIX time and date:\t\t\t%s", timebuf );
方法二:使用自定义的格式化方式显示
time_t ltime;char timebuf[128];
struct tm today;
ltime = time(0);
today = localtime(<ime);
strftime(timebuf, 128, "Today is %A, day %d of %B in the year %Y", today);
printf("%s\n", timebuf);
还有其他方式,你可以自己试试。
另外说明一点,关于time(0)获取到的值,MSDN 2008官方的声明是这样的:
The time function returns the number of seconds elapsed
since midnight (00:00:00), January 1, 1970, Coordinated Universal Time (UTC),
according to the system clock The return value is stored in the location given
by timer This parameter may
be NULL, in which case the return value is not stored
In Visual C++ 2005, time is a wrapper for _time64 and time_t is,
by default, equivalent to __time64_t If you need to force the compiler to
interpret time_t as the old 32-bit time_t, you can define _USE_32BIT_TIME_T This is not recommended because
your application may fail after January 18, 2038; the use of this macro is not
allowed on 64-bit platforms
如果你想通过这个秒数值来自己计算的话,就得清楚具体的平年闰年的进位以及年月日时分秒的进位规则。
java获取一个时间的年月日代码及相关解释说明参考下面代码
package zhidao;
import javautilCalendar;
public class Test {
public static void main(String[] args) {
Calendar cal=CalendargetInstance();//使用日历类
int year=calget(CalendarYEAR);//获取年份
int month=calget(CalendarMONTH)+1;//获取月份,因为从0开始的,所以要加1
int day=calget(CalendarDAY_OF_MONTH);//获取天
Systemoutprintln("结果:"+year+"-"+month+"-"+day);
}
}
//#include "stdafxh"//If the vc++60, with this line
#include "stdioh"
#include "stdlibh"
#include "timeh"
int main(void){
struct tm ptr;
time_t t;
int s=0,x;
while(1){
t=time(NULL);
ptr=localtime(&t);
if((x=ptr->tm_sec)!=s){
system("cls");
printf(asctime(ptr));
s=x;
}
}
return 0;
}
以上就是关于java 如何从Long型的时间中取得年月日全部的内容,包括:java 如何从Long型的时间中取得年月日、问在C语言里怎么获取当前时间和日期、怎么获得dateTime的年月日并且拼接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)