java中如何获取日期时间中的星期几

java中如何获取日期时间中的星期几,第1张

这个只能自己编写代码,显示样式可以根据自己的喜好设定。

实现此功能有很多方法,下面仅给一个例子,希望对你有帮助。

/ 获取指定日期星期

参数为null时表示获取当前日期是星期几

@param date

@return

/

public static String getWeekOfDate(Date date) {

String[] weekOfDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};

Calendar calendar = CalendargetInstance();

if(date != null){

calendarsetTime(date);

}

int w = calendarget(CalendarDAY_OF_WEEK) - 1;

if (w < 0){

w = 0;

}

return weekOfDays[w];

}

调用方法如下,看你怎么用了

public static void main(String[] args){

//今天是2015-10-19 星期一

String weekOfDate = null; //参数为null时表示获取当前日期是星期几

weekOfDate = getWeekOfDate(null);

Systemoutprintln(weekOfDate);

//输出 星期一

Date date = new Date();

datesetDate(18); //指定日期也可以

weekOfDate = getWeekOfDate(date);

Systemoutprintln(weekOfDate);

//输出 星期日

}

1、这可以用JavaScript的Date对象的getDay方法。

如:获取当天是星期几,则为:new Date()getDay();

//返回0-6,0对应星期天,1-6对应星期一到星期六

2、如果想给定某个时间是星期几,则应该把字符串转化为Date。

如:new Date('2015-09-27')getDay();//将返回0,表示星期天

3、具体,可以参见>

Oracle数据库:

第一个:SELECT DECODE(dw,

0,

'星期天',

1,

'星期一',

2,

'星期二',

3,

'星期三',

4,

'星期四',

5,

'星期五',

6,

'星期六') WEEK_DAY

FROM (SELECT 7 -

TO_NUMBER(NEXT_DAY(TO_DATE('2012-12-12', 'yyyy-mm-dd'), 1) -

TO_DATE('2012-12-12', 'yyyy-mm-dd')) dw

FROM dual);

第二个语句:

SELECT TO_CHAR(TO_DATE('2012-12-12', 'YYYY-MM-DD'), 'DAY') WEEK_DAY

FROM DUAL

SqlServer数据库:

select case datepart(weekday, getdate())

when 1 then

'星期天'

when 2 then

'星期一'

when 3 then

'星期二'

when 4 then

'星期三'

when 5 then

'星期四'

when 6 then

'星期五'

when 7 then

'星期六'

end

扩展资料:

SQL相关函数:

SQL Aggregate 函数:SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:AVG() - 返回平均值,COUNT() - 返回行数,FIRST() - 返回第一个记录的值,LAST() - 返回最后一个记录的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回总和

SQL Scalar 函数:SQL Scalar 函数基于输入值,返回一个单一的值。

有用的 Scalar 函数:UCASE() - 将某个字段转换为大写,LCASE() - 将某个字段转换为小写,MID() - 从某个文本字段提取字符;

LEN() - 返回某个文本字段的长度,ROUND() - 对某个数值字段进行指定小数位数的四舍五入,NOW() - 返回当前的系统日期和时间,FORMAT() - 格式化某个字段的显示方式。

参考资料:

百度百科——sql

只需要知道三个代码

日期代码+月份代码+年份代码

就可以秒算任意年份任意日期的星期数

方法

1、日期代码指的是日期数,如3月18号,日期代码为18。4月7号,日期代码为7。

2、月份代码(需要小小记忆)

五月 是 0

八月 是 1

二月 三月 十一月 是 2

六月 是 3

九月 十二月 是4

四月 七月 是5

一月 十月 是 6

如果遇到闰年 则二月代码变为1,一月代码变为5,其它不变。即,非闰年的月份代码为622503 514624,闰年的月份代码为512503 514624。

3、年份代码

举个例子 2010年的代码,我们用尾数10除以4(忽略余数)再加上10得到数字12,再用12除以7,得到的余数5就是2010年的代码。

也就是说,心算出2000到2099任意年份的代码,只需将其后两位数X除以4(忽略余数),然后与X相加,并除以7就可以了,得到的余数就是其年份代码。10年的年份代码是5,11年年份代码为6。

4、秒算任意日期的星期数

如,我们算一下2010年4月25日

日期代码25

月份代码5

年份代码5

日期代码+月份代码+年份代码=25+5+5=35

35是7的倍数,所以2010年4月25日是星期日

再比如算一下2010年10月1日

日期代码1

月份代码6

年份代码5

日期代码+月份代码+年份代码=1+6+5=12

12除以7余5,所以2010年10月1日是星期五

如果得到的代码和是小于7的数,那么此数直接是星期数

如果得到的代码和是大于7的数,那么将该数除以7得到的余数为星期数。

方法二

原理:蔡勒公式

1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]为取整符号)

2、其中,W是所求日期的星期数如果求得的数大于7,可以减去7的倍数,直到余数小于7为止c是公元年份的前两位数字,y是已知公元年份的后两位数字;m是月数,d是日数方括[ ]表示只截取该数的整数部分。

3、还有一个特别要注意的地方:所求的月份如果是1月或2月,则应视为前一年的13月或14月所以公式中m 的取值范围不是1-12,而是3-14

可以从 DayOfWeek 或 DayOfWeek 属性中获取用于指示与某个特定日期相对应的星期几的枚举值。 与此不同的是,检索星期几名称是一项格式化 *** 作,可通过调用格式化方法来执行,例如日期和时间值的 ToString 方法或 StringFormat 方法。 本主题演示如何执行这些格式化 *** 作。 从特定日期中提取指示星期几的数字 如果要使用日期的字符串表示形式,请使用静态 DateTimeParse 或 DateTimeOffsetParse 方法将其转换为 DateTime 或 DateTimeOffset 值。 使用 DateTimeDayOfWeek 或 DateTimeOffsetDayOfWeek 属性检索指示星期几的 DayOfWeek 值。 如有必要,可将 DayOfWeek 值强制转换(在 C# 中)或转换(在 Visual Basic 中)为整数。 下面的示例将显示一个整数,用于表示日期字符串表示形式中的星期几。 Dim dateValue As Date = #6/11/2008# ConsoleWriteLine(dateValueDayOfWeek) ' Displays 3 DateTime dateValue = new DateTime(2008, 6, 11); ConsoleWriteLine((int) dateValueDayOfWeek); // Displays 3 从特定日期中提取缩写的星期几名称 如果要使用日期的字符串表示形式,请使用静态 DateTimeParse 或 DateTimeOffsetParse 方法将其转换为 DateTime 或 DateTimeOffset 值。 您可以提取当前区域性或特定区域性的缩写的星期几名称: 若要提取当前区域性的缩写的星期几名称,请调用日期和时间值的 DateTimeToString(String) 或 DateTimeOffsetToString(String) 实例方法,并以 format 参数的形式传递字符串“ddd”。 下面的示例阐释对 ToString(String) 方法的调用。 Dim dateValue As Date = #6/11/2008# ConsoleWriteLine(dateValueToString("ddd")) ' Displays Wed DateTime dateValue = new DateTime(2008, 6, 11); ConsoleWriteLine(dateValueToString("ddd")); // Displays Wed 若要提取特定区域性的缩写的星期几名称,请调用日期和时间值的 DateTimeToString(String, IFormatProvider) 或 DateTimeOffsetToString(String, IFormatProvider) 实例方法。 同时以 format 参数形式传递字符串“ddd”, 并以provider 参数的形式传递表示要检索其星期几名称的区域性的 CultureInfo 或 DateTimeFormatInfo 对象。 下面的代码阐释如何使用表示 fr-FR 区域性的 CultureInfo 对象调用 ToString(String, IFormatProvider) 方法。 Dim dateValue As Date = #6/11/2008# ConsoleWriteLine(dateValueToString("ddd", _ New CultureInfo("fr-FR"))) ' Displays mer DateTime dateValue = new DateTime(2008, 6, 11); ConsoleWriteLine(dateValueToString("ddd", new CultureInfo("fr-FR"))); // Displays mer 从特定日期中提取完整的星期几名称 如果要使用日期的字符串表示形式,请使用静态 DateTimeParse 或 DateTimeOffsetParse 方法将其转换为 DateTime 或 DateTimeOffset 值。 您可以提取当前区域性或特定区域性的完整的星期几名称: 若要提取当前区域性的完整的星期几名称,请调用日期和时间值的 DateTimeToString(String) 或 DateTimeOffsetToString(String) 实例方法,并以 format 参数的形式传递字符串“dddd”。 下面的示例阐释对 ToString(String) 方法的调用。 Dim dateValue As Date = #6/11/2008# ConsoleWriteLine(dateValueToString("dddd")) ' Displays Wednesday DateTime dateValue = new DateTime(2008, 6, 11); ConsoleWriteLine(dateValueToString("dddd")); // Displays Wednesday 若要提取特定区域性的星期几名称,请调用日期和时间值的 DateTimeToString(String, IFormatProvider) 或 DateTimeOffsetToString(String, IFormatProvider) 实例方法。 同时以 format 参数的形式传递字符串“dddd”, 并以provider 参数的形式传递表示要检索其星期几名称的区域性的 CultureInfo 或 DateTimeFormatInfo 对象。 下面的代码阐释如何使用表示 es-ES 区域性的 CultureInfo 对象调用 ToString(String, IFormatProvider) 方法。 Dim dateValue As Date = #6/11/2008# ConsoleWriteLine(dateValueToString("dddd", _ New CultureInfo("es-ES"))) ' Displays miércoles DateTime dateValue = new DateTime(2008, 6, 11); ConsoleWriteLine(dateValueToString("dddd", new CultureInfo("es-ES"))); // Displays miércoles 示例 该示例阐释如何调用 DateTimeDayOfWeek 和 DateTimeOffsetDayOfWeek 属性以及 DateTimeToString 和 DateTimeOffsetToString 方法,以检索特定日期中表示星期几的数字、缩写的星期几名称和完整的星期几名称。 Dim dateString As String = "6/11/2007" Dim dateValue As Date Dim dateOffsetValue As DateTimeOffset Try Dim dateTimeFormats As DateTimeFormatInfo ' Convert date representation to a date value dateValue = DateParse(dateString, CultureInfoInvariantCulture) dateOffsetValue = New DateTimeOffset(dateValue, _ TimeZoneInfoLocalGetUtcOffset(dateValue)) ' Convert date representation to a number indicating the day of week ConsoleWriteLine(dateValueDayOfWeek) ConsoleWriteLine(dateOffsetValueDayOfWeek) ' Display abbreviated weekday name using current culture ConsoleWriteLine(dateValueToString("ddd")) ConsoleWriteLine(dateOffsetValueToString("ddd")) ' Display full weekday name using current culture ConsoleWriteLine(dateValueToString("dddd")) ConsoleWriteLine(dateOffsetValueToString("dddd")) ' Display abbreviated weekday name for de-DE culture ConsoleWriteLine(dateValueToString("ddd", New CultureInfo("de-DE"))) ConsoleWriteLine(dateOffsetValueToString("ddd", _ New CultureInfo("de-DE"))) ' Display abbreviated weekday name with de-DE DateTimeFormatInfo object dateTimeFormats = New CultureInfo("de-DE")DateTimeFormat ConsoleWriteLine(dateValueToString("ddd", dateTimeFormats)) ConsoleWriteLine(dateOffsetValueToString("ddd", dateTimeFormats)) ' Display full weekday name for fr-FR culture ConsoleWriteLine(dateValueToString("ddd", New CultureInfo("fr-FR"))) ConsoleWriteLine(dateOffsetValueToString("ddd", _ New CultureInfo("fr-FR"))) ' Display abbreviated weekday name with fr-FR DateTimeFormatInfo object dateTimeFormats = New CultureInfo("fr-FR")DateTimeFormat ConsoleWriteLine(dateValueToString("dddd", dateTimeFormats)) ConsoleWriteLine(dateOffsetValueToString("dddd", dateTimeFormats)) Catch e As FormatException ConsoleWriteLine("Unable to convert {0} to a date", dateString) End Try ' The example displays the following output to the console: ' 1 ' 1 ' Mon ' Mon ' Monday ' Monday ' Mo ' Mo ' Mo ' Mo ' lun ' lun ' lundi ' lundi string dateString = "6/11/2007"; DateTime dateValue; DateTimeOffset dateOffsetValue; try { DateTimeFormatInfo dateTimeFormats; // Convert date representation to a date value dateValue = DateTimeParse(dateString, CultureInfoInvariantCulture); dateOffsetValue = new DateTimeOffset(dateValue, TimeZoneInfoLocalGetUtcOffset(dateValue)); // Convert date representation to a number indicating the day of week ConsoleWriteLine((int) dateValueDayOfWeek); ConsoleWriteLine((int) dateOffsetValueDayOfWeek); // Display abbreviated weekday name using current culture ConsoleWriteLine(dateValueToString("ddd")); ConsoleWriteLine(dateOffsetValueToString("ddd")); // Display full weekday name using current culture ConsoleWriteLine(dateValueToString("dddd")); ConsoleWriteLine(dateOffsetValueToString("dddd")); // Display abbreviated weekday name for de-DE culture ConsoleWriteLine(dateValueToString("ddd", new CultureInfo("de-DE"))); ConsoleWriteLine(dateOffsetValueToString("ddd", new CultureInfo("de-DE"))); // Display abbreviated weekday name with de-DE DateTimeFormatInfo object dateTimeFormats = new CultureInfo("de-DE")DateTimeFormat; ConsoleWriteLine(dateValueToString("ddd", dateTimeFormats)); ConsoleWriteLine(dateOffsetValueToString("ddd", dateTimeFormats)); // Display full weekday name for fr-FR culture ConsoleWriteLine(dateValueToString("ddd", new CultureInfo("fr-FR"))); ConsoleWriteLine(dateOffsetValueToString("ddd", new CultureInfo("fr-FR"))); // Display abbreviated weekday name with fr-FR DateTimeFormatInfo object dateTimeFormats = new CultureInfo("fr-FR")DateTimeFormat; ConsoleWriteLine(dateValueToString("dddd", dateTimeFormats)); ConsoleWriteLine(dateOffsetValueToString("dddd", dateTimeFormats)); } catch (FormatException) { ConsoleWriteLine("Unable to convert {0} to a date", dateString); } // The example displays the following output to the console: // 1 // 1 // Mon // Mon // Monday // Monday // Mo // Mo // Mo // Mo // lun // lun // lundi // lundi 个别语言可能提供与 NET Framework 所提供的功能相同或互为补充的功能。 例如,Visual Basic 就包括这样的两个函数: Weekday,它返回指示特定日期中表示星期几的数字。 此函数将一周中第一天的序数值视为一,而 DateTimeDayOfWeek 属性却将其视为零。 WeekdayName,它返回当前区域性中与特定星期几相对应的周的名称。 下面的示例阐释 Visual Basic Weekday 和WeekdayName 函数的用法。 Dim dateValue As Date = #6/11/2008# ' Get weekday number using Visual Basic Weekday function ConsoleWriteLine(Weekday(dateValue)) ' Displays 4 ' Compare with NET DateTimeDayOfWeek property ConsoleWriteLine(dateValueDayOfWeek) ' Displays 3 ' Get weekday name using Weekday and WeekdayName functions ConsoleWriteLine(WeekdayName(Weekday(dateValue))) ' Displays Wednesday ' Change culture to de-DE Dim originalCulture As CultureInfo = ThreadCurrentThreadCurrentCulture ThreadCurrentThreadCurrentCulture = New CultureInfo("de-DE") ' Get weekday name using Weekday and WeekdayName functions ConsoleWriteLine(WeekdayName(Weekday(dateValue))) ' Displays Donnerstag ' Restore original culture ThreadCurrentThreadCurrentCulture = originalCulture 也可以使用 DateTimeDayOfWeek 属性返回的值检索特定日期的星期几名称。 此过程只需对 DayOfWeek 属性返回的值调用 ToString 方法。 但是,此技术并不生成当前区域性的本地化星期几名称,如下面的示例所示。 ' Change current culture to fr-FR Dim originalCulture As CultureInfo = ThreadCurrentThreadCurrentCulture ThreadCurrentThreadCurrentCulture = New CultureInfo("fr-FR") Dim dateValue As Date = #6/11/2008# ' Display the DayOfWeek string representation ConsoleWriteLine(dateValueDayOfWeekToString()) ' Displays Wednesday ' Restore original current culture ThreadCurrentThreadCurrentCulture = originalCulture // Change current culture to fr-FR CultureInfo originalCulture = ThreadCurrentThreadCurrentCulture; ThreadCurrentThreadCurrentCulture = new CultureInfo("fr-FR"); DateTime dateValue = new DateTime(2008, 6, 11); // Display the DayOfWeek string representation ConsoleWriteLine(dateValueDayOfWeekToString()); // Displays Wednesday // Restore original current culture ThreadCurrentThreadCurrentCulture = originalCulture; 编译代码 这些示例可能需要: 导入下列命名空间: SystemGlobalization 命名空间。 SystemThreading 命名空间,需要在编译 DayOfWeek 示例以及阐释 Weekday 和WeekdayName 函数的 Visual Basic 示例时使用。 这些示例还要求: 将对SystemCoredll 的引用添加到任何添加了代码示例的项目中。 请参见概念 执行格式设置 *** 作 标准日期和时间格式字符串 自定义日期和时间格式字符串

使用Calendar类

/Calendar类中的get(CalendarDAY_OF_WEEK)可以获取当前日期是星期几

获取当前日期是星期几<br>

@param dt

@return 当前日期是星期几

/

public static String getWeekOfDate(Date dt) {

String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};

Calendar cal = CalendargetInstance();

calsetTime(dt);

int w = calget(CalendarDAY_OF_WEEK) - 1;

if (w < 0)

w = 0;

return weekDays[w];

}

应为要有交互,选择了Js来实现,也算是

结对编程

的初试吧。

我将显示部分用html

写好,点击的按钮触发事件函数是check();

复制代码

代码如下:

function

onCheck(){

var

Year

=

documentgetElementById("year")value;

//获取文本框的“年”

var

theYear

=Year

1;

//转换为number类型

//alert(theYear);

//

获取月值

var

month

=

documentgetElementById("month");

var

index1=monthselectedIndex;

var

theMonth

=

monthoptions[index1]value;

//获取月值

var

day

=

documentgetElementById("day");

var

index2=dayselectedIndex;

var

theDay

=

dayoptions[index2]value;

//

输入值判断部分

//调用核心函数

days(theYear,theMonth,theDay);

}

以上就是关于java中如何获取日期时间中的星期几全部的内容,包括:java中如何获取日期时间中的星期几、javascript给定了日期如何获得星期几、在sql中怎样获得已知日期是星期几等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存