Use the DatePicker provided by SwiftUI.
Declare state variables - one to store the date and another to conditionally show or hide the DatePicker.
@State var date = Date()
@State var isDatePickerVisible = false
Set isDatePickerVisible to true when the user clicks on the button.
Button(action: {
       isDatePickerVisible = true
}, label: {
     Text("Today")
       .font(.system(size: 17, weight: .semibold, design: .rounded))          
})
Show the DatePicker when the isDatePickerVisible flag is set to true.
Clicking on the done button will hide the DatePicker again.
if isDatePickerVisible {
    HStack {
        DatePicker("", selection: $date)
            .datePickerStyle(GraphicalDatePickerStyle())
            .frame(maxHeight: 400)
        Button("Done", action: {
            isDatePickerVisible = false
        })
    }
}
You can also display the selected date in a Text using the following code.
Text("Date is \(date.formatted(date: .long, time: .omitted))")
However, if you want to display the current date when the user clicks on Today instead of letting the user pick a date, use the following code:
if isDatePickerVisible {
    Text(Date.now, format: .dateTime.day().month().year())
}