c#中怎么把一个日期转化出星期几 例如1993-10-18

2024-11-30 23:24:14
推荐回答(5个)
回答1:

//1.首先你要得到一个日期对象:
DateTime dt=DateTime.Parse("1993-10-18");
//2.日期对象有个属性DayOfWeek可以获取英文的星期(枚举类型),需要自己预定义一个中文的星期数组,然后转化
//中文的星期数组
string[] week=new string[7]{"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
//3.将DayOfWeek的枚举转成整形(星期日是0),这个整形就是对应的中文星期数组的索引,就可以知道了
string week=week[(int)dt.DayOfWeek];

回答2:

string weekstr = DateTime.Now.DayOfWeek.ToString();
switch (weekstr)
{
case "Monday": weekstr = "星期一"; break;
case "Tuesday": weekstr = "星期二"; break;
case "Wednesday": weekstr = "星期三"; break;
case "Thursday": weekstr = "星期四"; break;
case "Friday": weekstr = "星期五"; break;
case "Saturday": weekstr = "星期六"; break;
case "Sunday": weekstr = "星期日"; break;
}

回答3:

有一个思路,我以前也做的,但是不知道代码放哪儿了。
就是现在的日期都是从1970年1月1日算着走的,你就用循环算出1970年1月1日到你要查的这个日期有多少天,然后用天除以7,然后余数(要加一或者减一,不清楚了,你思考下)就是今天星期几那个样子了

回答4:

这个问题不是很难,有关判断日期是否合法,其实已经有现成的包可以用,没有必要自己写方法来实现,代码如下:

import java.util.*;

public class WeekTest {
private String[][] javadays=new String[12][31];

public WeekTest(){
String[] weeks=new String[];
for(int i=0;i<12;i++){
for(int j=0;j<31;j++){
GregorianCalendar gc=new GregorianCalendar();
gc.setLenient(false);
try{
gc.set(2008,i,j+1);
int week=gc.get(Calendar.DAY_OF_WEEK);
javadays[i][j]=new String(weeks[week-1]);
}catch(Exception e){}
}
}
}

public void randomPrint(){
HashSet hs=new HashSet();
while(true){
if(hs.size()==10)
break;
int day=((int)(Math.random()*1000))%366;
if(hs.contains(new Integer(day)))
continue;
hs.add(new Integer(day));
}
for(Integer day:hs){
GregorianCalendar gc=new GregorianCalendar(2008,0,1);
gc.add(Calendar.DATE,day.intValue());
int month=gc.get(Calendar.MONTH)+1;
int date=gc.get(Calendar.DAY_OF_MONTH);
System.out.println("2008年"+(month<10?"0"+month:month)+"月"+(date<10?"0"+date:date)+"日\t"+javadays[month-1][date-1]);
}
}

public void replaceAll(){
String[][] weekStr=new String[2][];
weekStr[0]=new String[];
weekStr[1]=new String[];
for(int i=0;i<12;i++){
for(int j=0;j<31;j++){
for(int k=0;k<7;k++){
if(javadays[i][j]!=null && javadays[i][j].equals(weekStr[0][k]))
javadays[i][j]=new String(weekStr[1][k]);
}
}
}
}

public static void main(String[] args) {
WeekTest wt=new WeekTest();
wt.randomPrint();
wt.replaceAll();
wt.randomPrint();
}

}

回答5:

非题