如何在C#中將DateTime設置爲月份的第一個月?將DateTime設置爲月份開始
77
A
回答
171
var now = DateTime.Now;
var startOfMonth = new DateTime(now.Year,now.Month,1);
+52
小費:總是把`DateTime。現在`變成一個變量,並使用它,如果你要重複使用該值。如果此代碼正好在午夜左右執行,則出現錯誤的可能性很小;對'DateTime.Now`的兩次調用可能會在午夜的每一側發生,從而導致可能的奇怪效果。 – 2011-02-15 10:43:16
+0
好點。我認爲在新年前夕午夜是可能導致問題的時間。 – 2011-02-15 10:48:09
2
DateTime now = DateTime.Now;
DateTime date = new DateTime(now.Year, now.Month, 1);
您可以用別的代替DateTime.Now
38
像這樣的工作
DateTime firstDay = DateTime.Today.AddDays(1 - DateTime.Today.Day);
0
這應該是高效的和正確的:
DateTime RoundDateTimeToMonth(DateTime time)
{
long ticks = time.Ticks;
return new DateTime((ticks/TimeSpan.TicksPerDay - time.Day + 1) * TimeSpan.TicksPerDay, time.Kind);
}
這裏ticks/TimeSpan.TicksPerDay
re將達到給定的time
和- time.Day + 1
的整數天數重置爲月初。
7
有點遲到了,但這裏是沒有的伎倆,我
public static class DateTimeExtensions
{
public static DateTime FirstDayOfMonth(this DateTime dt)
{
return new DateTime(dt.Year, dt.Month, 1);
}
}
4
public static DateTime FirstDayOfMonth(this DateTime current)
{
return current.AddDays(1 - current.Day);
}
0
擴展方法我剛剛創建基於尼克的答案和一些擴展方法人對SO
public static class DateTimeExtensions
{
/// <summary>
/// get the datetime of the start of the week
/// </summary>
/// <param name="dt"></param>
/// <param name="startOfWeek"></param>
/// <returns></returns>
/// <example>
/// DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Monday);
/// DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);
/// </example>
/// <remarks>http://stackoverflow.com/a/38064/428061</remarks>
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
{
var diff = dt.DayOfWeek - startOfWeek;
if (diff < 0)
diff += 7;
return dt.AddDays(-1 * diff).Date;
}
/// <summary>
/// get the datetime of the start of the month
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
/// <remarks>http://stackoverflow.com/a/5002582/428061</remarks>
public static DateTime StartOfMonth(this DateTime dt)
{
var now = DateTime.Now;
return new DateTime(now.Year, now.Month, 1);
}
/// <summary>
/// get datetime of the start of the year
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime StartOfYear(this DateTime dt)
{
var now = DateTime.Now;
return new DateTime(now.Year, 1, 1);
}
}
-1
var currentDate = DateTime.UtcNow.Date;
var startDateTimeOfCurrentMonth = currentDate.AddDays(-(currentDate.Day - 1));
0
希望這有助於你。
textbox1.Text =「01-」+ DateTime.Now.ToString(「MMM-yyyy」);
相關問題
- 1. SQL將特定月份設置爲年份的第一個月
- 2. 將月曆設置爲X月的月份
- 3. 選擇框月份和月份從PHP當前月份開始
- 4. 獲取月份開始和月末
- 5. Excel 2007:按月開始月份倒數
- 6. 爲什麼要將月份數設置爲傳遞給mktime的實際月份?
- 7. 如何查找從r腳本中的datetime開始的月份和年份
- 8. 如何將datetimepicker值自動設置爲所選月份的第一個月份?
- 9. 選擇開始年份和開始月份之間的數據以結束年份和結束月份?
- 10. DatePicker設置月份錯誤
- 11. 匹配月份和年份Python和datetime
- 12. 從特定月份開始計算周
- 13. 獲取開始日期和月份
- 14. 如何在Python3中使用datetime將日期轉換爲月份?
- 15. 如果開始月份不是1月份,請指定年份編號
- 16. 如何將月份轉換爲java中的年份和月份
- 17. 將datetime字段的值設置爲null
- 18. 在DateTime對象中設置年份
- 19. 從現在開始只查詢一個月的月份()
- 20. 從這個月開始的SQL ORDER BY月份
- 21. 排序12個月(1-12)與給定的開始月份
- 22. 從4月份開始的SQL排序月末(mmm-yy)
- 23. 存儲過程,返回startdate作爲月份開始
- 24. 使用datetime將分鐘轉換爲月
- 25. 從當前月份開始的月份得到mysql表中數值的總和
- 26. 如何獲取大寫DateTime月份?
- 27. 從日期,月份和年份開始的Python時間戳
- 28. 設置格式月份DatePicker延長DialogFragment
- 29. java.util.Calendar沒有正確設置月份
- 30. UITextField將光標設置爲開始文本位置
本月開始? – 2011-02-15 10:36:22
所以要了解它,..每個月的日期都以1開頭..他想知道本月開始的日子 – 2011-02-15 10:37:31
如果我們在1月份,它應該顯示2011年1月1日和2月,然後01-Feb-2011 – learning 2011-02-15 10:38:23