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