当前位置: 首页 > 知识库问答 >
问题:

如何将字符串转换为具有月份名称、日期和年份的DateTime对象?

童琪
2023-03-14

我有像“2020年4月20日”这样的字符串。我想将字符串转换为DateTime()。

我面临的问题是DateTime.parse()不接受月份名称。

共有3个答案

楚举
2023-03-14

您可以创建一个包含所有月份名称的列表,然后您可以执行拆分操作,找到字符串的特定部分,然后将它们放在DataTime中。

以下代码将清除您的想法。

String sdata = 'April 20, 2020';

  List<String> months = [
    'January',
    'February',
    'March',
    'April',
    'May',
    'June',
    'July',
    'August',
    'September',
    'October',
    'November',
    'December'
  ]; 

DateTime _dateTime = DateTime(
        int.parse(sdata.substring(sdata.length - 4, sdata.length)),
        months.indexOf(sdata.split(' ')[0]) + 1,
        int.parse(sdata.substring(sdata.length - 8, sdata.length - 6)));
    print(_dateTime);
陈欣荣
2023-03-14

尝试intl dart包。

DateTime _parseDateStr(String inputString) {
  DateFormat format = DateFormat.yMMMMd();
  return format.parse(inputString);
}
章青青
2023-03-14

日期时间分析不支持这些类型的日期格式。您可以使用国际包来实现此目的。

var dateString    = 'April 20, 2020';
DateFormat format = new DateFormat("MMMM dd, yyyy");
var formattedDate = format.parse(dateString);
 类似资料:
  • 问题内容: 我是Java新手。我正在尝试将日期从字符串转换为MMM yyyy格式(2016年3月)。我试过了 一切正常。但是当我使用 它不起作用。帮帮我,如何解决这个问题。 问题答案: 您的格式必须符合您的输入 对于 格式应为(仅使用第二个对象) 完整答案 使用 java-8

  • 问题内容: 我正在使用哪种格式返回日期: 我想将其转换为以下格式: 用Python做到这一点的最佳方法是什么? 问题答案: 在Python中,这是使用格式字符串的简单练习: 见该表的所有格式预选赛的完整描述。 在这里,我使用此方法将您的datepicker.js字符串转换为Python datetime对象。然后,我使用该方法使用所需的格式将该对象打印为字符串。最初,这些格式字符串将很难记住,但是

  • 问题内容: 我有以下日期: 我需要知道这是date在 datetime(2009,04,01) 之前还是之后,而且我似乎找不到找到将字符串转换为可以将其与 datetime(2009,04,01) 比较的 方法。 ) 以一种有意义的方式。 问题答案: 由于该字符串采用ISO格式,因此可以直接将其与您提到的ISO格式版本进行有意义的比较: 如您所见,虽然您无法将字符串与日期时间对象进行比较,但只要字

  • 例子: 例如:String str=“11/20”(MM/yy)希望通过在Java中以上述格式传递字符串来获取月份名称和年份(例如:11月/20)

  • 我有一个字符串文件< code > FECHA EMISION = " 2018-03-02 " 。我希望它显示为“Marzo”(三月在西班牙/意大利)。 我必须转换为整数,但我不知道如何将结果02转换为相关月份。

  • 如果在程序中有人给我天数(ab=“days”),我需要将变量“days”设置为相同的数字(“val”中的值),如果有人给我月份(ab=“months”),那么我需要将其转换为天(val中的值),如果有人给我年(ab=“years”),那么我需要将其转换为天(val中的值)。ie如果用户在变量“ab”中指定了值的类型(即是月、年或日期)和变量“val”中的天数(天/月/年),我需要在变量“天”中获得