简体   繁体   English

如何获得月份的第一个日期?

[英]How to get first date of month?

I am working on get start and end date from today's date. 我正在研究从今天开始的开始和结束日期。

I am getting start and end date of current month by using formula given by Martin R 我正在使用Martin R给出的公式获取本月的开始和结束日期

Get first and last day of month 获取每月的第一天和最后一天

It is working perfectly. 运行良好。

My issue is how to put my custom value in this line 我的问题是如何在此行中输入我的自定义值

let components1 = calendar.components([.Year, .Month], fromDate: date)

Can I replace my custom month value to this code? 我可以将我的自定义月份值替换为此代码吗?

My requirement is: 我的要求是:

I have one tableView for months like January, etc. When I will click TableView I am getting current month according to tableview. 我有一个tableView可以使用一月等月份,等等。当我单击TableView时,我将根据tableview获得当前月份。

Suppose I click on January, I will get value 1. 假设我单击一月,我将获得价值1。

So how to get start and end date of month using my custom month value? 那么如何使用我的自定义月份值获取月份的开始和结束日期呢?

My Code 我的密码

 let date = NSDate()
        let calendar   = NSCalendar.currentCalendar()
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd MM yyyy"

        //To Get Start Date of Month
        let components1  = calendar.components([.Year,.Day], fromDate: date)
        components1.month = 3
        let startOfMonth = calendar.dateFromComponents(components1)!
        txtStartDate.text = dateFormatter.stringFromDate(startOfMonth)

try this code: 试试这个代码:

    let calendar = NSCalendar.currentCalendar()
    let date = "January 2016" // custom value
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MMMM yyyy"

    let components = calendar.components([.Year, .Month, .Day], fromDate: dateFormatter.dateFromString(date)!)
    let startOfMonth = calendar.dateFromComponents(components)!
    dateFormatter.dateFormat = "MM"
    print(dateFormatter.stringFromDate(startOfMonth))
    //NSLog("%@ : %@", startOfMonth,dateFormatter.stringFromDate(startOfMonth));

Output: 输出:

01

I am answering my own question 我在回答我自己的问题

temp number is month number like if January it will considered as 1. 临时号是月份号,例如1月将被视为1。

plz go through this solution to get start and end date from custom values thanks @Martin R 请通过此解决方案从自定义值获取开始和结束日期,谢谢@Martin R

let calendar   = NSCalendar.currentCalendar()

        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd MM yyyy"

        //To Get Start Date of Month
        let components1 = calendar.components([.Year], fromDate: NSDate())
        components1.month = Int(tempNumber!)!
        let startOfMonth = calendar.dateFromComponents(components1)!
        txtStartDate.text = dateFormatter.stringFromDate(startOfMonth)

        //To Get End Date of Month
        let comps2 = NSDateComponents()
        comps2.month =  1
        comps2.day   = -1
        let endOfMonth = calendar.dateByAddingComponents(comps2, toDate: startOfMonth, options: [])!
        txtEndDate.text = dateFormatter.stringFromDate(endOfMonth)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM