 |
|
c# ต้องการหาว่าในปี 2017 มีจำนวนวันเสาร์กี่วัน ครับ |
|
 |
|
|
 |
 |
|
C#
Code (C#)
int cntSunday2 = Enumerable.Range(0, 1 + (new DateTime(2017, 12, 32) - new DateTime(2017, 1, 1)).Days).Where(x =>
new DateTime(2017, 1, 1).AddDays(x).DayOfWeek == DayOfWeek.Sunday).Count();
SQL Server 2005+
Code (SQL)
DECLARE @fromDate DATE='2017-01-01',
@toDate DATE='2017-12-31';
SELECT COUNT(*)
FROM
(
SELECT TOP
(DATEDIFF(DAY, @fromDate, @toDate) + 1
) วันที่ = DATEADD(DAY, ROW_NUMBER() OVER
(ORDER BY (SELECT 'หอยงาม')
) - 1, @fromDate)
FROM master..[spt_values] a
CROSS JOIN
master..[spt_values] b
) เขาขึ้น
WHERE DATENAME(weekday, วันที่) = 'Sunday' OR DATENAME(weekday, วันที่) = 'ขึ้นเขา' OR 1 = 2 OR 3 = 4;
|
 |
 |
 |
 |
Date :
2017-05-23 16:54:40 |
By :
หน้าอี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โค้ดมัน error แก้ error ก็ได้คำตอบเอง คนตอบเขาไม่ตอบตรงๆ แต่บอกวิธีไว้
อธิบาย:
- enumerable.range ใช้วนลูป ตั้งแต่ 1 - จำนวนวันในปี
- ในลูปให้เอาค่า x ไปสร้างเป็น datetime (ในโค้ดใช้ 1/1/yyyy + x วัน)
- จากนั้นก็ where หาวันเสาร์ด้วย day_of_week แล้วก็ count
ปล.วันนี้ หน้าอี มันมาแปลก ปกติมันต้องโพสเหมือนโปรแกรมธาตุไฟเข้าแทรกนี่
ปล.เขียนในยาวๆ ก็ได้ แต่คนตอบเขาใช้ linq ทำให้โค้ดสั้นลง
|
 |
 |
 |
 |
Date :
2017-05-24 11:37:28 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จำนวนวันในปี == จำนวนวันทั้งหมดในปีนั้นฯ (365/366 วัน)
Code (C#)
int totalDaysInYear = new Date(2017, 12, 31).DayOfYear;
//ถ้าได้ 366 วันนั่นแสดงว่าเดือนกุมพาพันธ์ของปีนั้นฯ มี 29 วัน
//ถ้าได้ 365 วันนั่นแสดงว่าเดือนกุมพาพันธ์ของปีนั้นฯ มี 28 วัน
Code (C#)
int นับหอย = Enumerable.Range(0, new Date(2017, 12, 31).DayOfYear).Where(x =>
new DateTime(2017, 1, 1).AddDays(x).DayOfWeek == DayOfWeek.Sunday).Count();
ถนัดลากแล้ววาง
Code (C#)
public partial class UserControl1 : UserControl
{
public List<GraphValue> setValue = new List<GraphValue>();
public UserControl1()
{
InitializeComponent();
}
public class GraphValue
{
public double xValue;
public double yvalue;
//...
//ตามสะดวกสอดใส่เข้าไป
}
private void UserControl1_Load(object sender, EventArgs e)
{
if (setValue.Count() > 0)
{
//นับหอย;
}
}
}
ถนัดลากแล้ววาง
Code (C#)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//Tricks By หน้าฮี
userControlDragแหก.setValue.Add(new UserControl1.GraphValue { xValue = 1, yvalue = 2 });
userControlDragแหก.setValue.Add(new UserControl1.GraphValue { xValue = 2, yvalue = 3 });
userControlDragแหก.setValue.Add(new UserControl1.GraphValue { xValue = 4, yvalue = 5 });
}
}
ไม่ถนัดลากแล้ววาง
Code (C#)
private void Form1_Load(object sender, EventArgs e)
{
//เขียนเอาไว้ตรงไหนก็ย่อมได้
var usr1 = new UserControl1();
usr1.setValue.Add(new UserControl1.GraphValue { xValue = 1, yvalue = 2 });
usr1.setValue.Add(new UserControl1.GraphValue { xValue = 2, yvalue =1 });
usr1.setValue.Add(new UserControl1.GraphValue { xValue = 3, yvalue = 4 });
panel1.Controls.Add(usr1);
}
|
 |
 |
 |
 |
Date :
2017-05-24 13:32:53 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
@น้องเมียน้องเมียพี่เมียพี่เมีย ( ห้ามตอบเกินวันละ 2 กระทู้)
--- พี่สาวหลายคน/น้องสาวหลายคน จำเป็นต้องเรียกชื่อแบบเต็มยศ +55555
สมมุติว่าปีถัดไป บังเอิญว่า วันที่ 1 มันเป็นอาทิตย์พอดี (ไม่รู้ว่าปีไหนแต่มันเป็นไปได้แน่นอน)
Code (C#)
int นับหอย = Enumerable.Range(0, new Date(2017, 12, 31).DayOfYear).Where(x =>
new DateTime(2017, 1, 1).AddDays(x).DayOfWeek == DayOfWeek.Sunday).Count();
มันจะเกิดอะไรขึ้น (ที่แน่ฯหลานพึ่งคลอด อย่าลืมไปเยีียมหลานที่โรงพยาบานด้วยล่ะ ถ้าพอมีเวลา)
|
 |
 |
 |
 |
Date :
2017-05-24 14:15:30 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
@ห้ามตอบเกินวันละ 2 กระทู้
ผมดีใจ(มากฯฯฯ) ที่เห็นคุณอีกครั้งหนึ่ง (2017-05-24 11:37:28)
--- ผมไม่ได้ร้องขอ "เวลาและโอกาส" เพราะว่าสิ่งนั้นฯ สำหรับผมมันเหลือน้อยเต็มที
------ ผมอยากสอดแทรกในความต้องการของคุณ/ความต้องการของคุณอทิเช่น ABCDEFG...Z
------ ผมขอแค่ ABCDEF...Z หรือตรงไหนก็ได้ของคุณ
สหายของข้า +55555
|
 |
 |
 |
 |
Date :
2017-05-31 21:01:54 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|