javascript 从Date中获取星期几

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 从Date中获取星期几相关的知识,希望对你有一定的参考价值。

假如我使用一个日期来实例了一个Date
要怎么从这个Date中获取这个日期是星期几啊

通过getDay() 方法,可返回表示星期的某一天的数字。

星期中的某一天,使用本地时间。返回值是 0(周日) 到 6(周六) 之间的一个整数。

示例:

<script type="text/javascript">
var d=new Date()
var weekday=new Array(7)
weekday[0]="星期天"
weekday[1]="星期一"
weekday[2]="星期二"
weekday[3]="星期三"
weekday[4]="星期四"
weekday[5]="星期五"
weekday[6]="星期六"
document.write("Today it is " + weekday[d.getDay()])//返回当前时间是星期几
</script>

参考技术A var mydate=new Date();
var myweekday=mydate.getDay();
var weekday = "";
if(myweekday == 0)
weekday=" 星期日";
else if(myweekday == 1)
weekday=" 星期一";
else if(myweekday == 2)
weekday=" 星期二";
else if(myweekday == 3)
weekday=" 星期三";
else if(myweekday == 4)
weekday=" 星期四";
else if(myweekday == 5)
weekday=" 星期五";
else if(myweekday == 6)
weekday=" 星期六";
参考技术B getDay()本回答被提问者采纳

从用户输入中获取星期几

【中文标题】从用户输入中获取星期几【英文标题】:Getting the day of the week from user input 【发布时间】:2014-01-26 05:43:47 【问题描述】:
Date date= (new GregorianCalendar(year, month, day)).getTime();
SimpleDateFormat f = new SimpleDateFormat("EEEE");
String dow=f.format(date);

System.out.print("This date is a "+dow);

我让用户输入一个月(1-12)一天(1-31)和一年(1600-2400) 它工作正常,只是它显示错误的日期。例如,它说 2014 年 1 月 1 日是星期六,但它是星期三。 这可能是因为我没有考虑闰年,但我不知道如何去做。我也不知道如何告诉它每个月有多少天。数组? 希望线条也最少。

非常感谢!!!这已经困扰了我一个小时+。这么简单的事情,我应该想到的。我一定很累。

谢谢!!!!!!!

【问题讨论】:

How to determine day of week by passing specific date?的可能重复 月份从零开始。 docs.oracle.com/javase/7/docs/api/java/util/… 【参考方案1】:

Month 是从零开始的。试试吧,

Date date= (new GregorianCalendar(year, month-1, day)).getTime();
    SimpleDateFormat f = new SimpleDateFormat("EEEE");
    String dow=f.format(date);

【讨论】:

【参考方案2】:

answer by Shashank Kadne 是正确的。

乔达时间

仅供参考,使用Joda-Time 2.3 库,这项工作更简单、更干净。

Joda-Time 使用基于 1 的合理计数来处理以下事情:

一年中的月份一月 = 1,二月 = 2,依此类推。 星期几星期一 = 1,星期日 = 7。(标准 ISO 8601 星期)

Joda-Time DateTime 对象知道自己的时区,这与 java.util.Date 对象不同。

Joda-Time 利用指定的Locale 对象来呈现本地化字符串。

示例代码

// Specify a time zone rather than rely on default.
DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" );

int year = 2014;
int month = 1; // Sensible one-based counting. January = 1, February = 2, …
int dayOfMonth = 2;

DateTime dateTime = new DateTime( year, month, dayOfMonth, 0, 0, 0, timeZone );

// Day-of-week info.
int dayOfWeekNumber = dateTime.getDayOfWeek(); // Standard week (ISO 8601). Monday = 1, Sunday = 7.
DateTime.Property dayOfWeekProperty = dateTime.dayOfWeek();
String dayOfWeekName_Short = dayOfWeekProperty.getAsShortText( Locale.FRANCE );
String dayOfWeekName_Long = dayOfWeekProperty.getAsText( Locale.FRANCE );

转储到控制台...

System.out.println( "dateTime: " + dateTime );
System.out.println( "dayOfWeekNumber: " + dayOfWeekNumber );
System.out.println( "dayOfWeekName_Short: " + dayOfWeekName_Short );
System.out.println( "dayOfWeekName_Long: " + dayOfWeekName_Long );

运行时……

dateTime: 2014-01-02T00:00:00.000+01:00
dayOfWeekNumber: 4
dayOfWeekName_Short: jeu.
dayOfWeekName_Long: jeudi

没有时间和时区

如果您真的只想要没有任何时间或时区的日期,请编写类似的代码,但使用 LocalDate 类。

【讨论】:

以上是关于javascript 从Date中获取星期几的主要内容,如果未能解决你的问题,请参考以下文章

从用户输入中获取星期几

从当前日期获取星期几并指定星期几

如何使用 date.h 在 C++ 中获取当前星期几?

在 SwiftUI 中通过 Date() 读取星期几以获取本地通知

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

javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!